/* Start Menu */
/* position:fixed + no top/bottom here at all — JS sets both inline, computed
   from the taskbar's REAL bounding box every time the menu opens (see
   shell/startmenu/startmenu.js _positionAboveOrBelowTaskbar()). This makes
   the anchoring correct no matter what height a skin renders the taskbar at,
   instead of trusting a --taskbar-h variable that skins can silently drift
   away from. */
#start-menu{position:fixed;left:6px;width:340px;max-height:72vh;background:rgba(8,8,20,0.97);border:0.5px solid var(--border);border-radius:14px;padding:14px;z-index:2000;backdrop-filter:blur(28px);display:flex;flex-direction:column;gap:8px;}
.sm-header{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:0.5px solid var(--border);}
.sm-name{font-size:13px;font-weight:500;color:var(--text);}
#sm-search{width:100%;padding:8px 12px;border-radius:8px;background:rgba(255,255,255,0.07);border:0.5px solid var(--border);color:var(--text);font-size:12px;outline:none;}
#sm-results{overflow-y:auto;flex:1;min-height:0;}
.sm-section-title{font-size:10px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin:8px 0 5px;}
.sm-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;cursor:pointer;color:var(--text);font-size:12px;}
.sm-item:hover{background:rgba(255,255,255,0.08);}
.sm-empty{padding:18px;text-align:center;color:var(--text-muted);font-size:12px;}
.sm-calc{padding:12px 14px;border-radius:8px;background:rgba(79,70,229,0.15);font-size:14px;font-weight:500;color:var(--text);}
.sm-footer{display:flex;gap:5px;padding-top:8px;border-top:0.5px solid var(--border);align-items:center;}
.sm-footer button{height:30px;padding:0 10px;border-radius:6px;background:rgba(255,255,255,0.07);border:0.5px solid var(--border);color:var(--text);cursor:pointer;font-size:11px;display:flex;align-items:center;gap:5px;}
.sm-footer button:hover{background:rgba(255,255,255,0.13);}
.sm-footer button.danger:hover{background:rgba(239,68,68,0.25);color:#fca5a5;}
#ctx-menu{position:absolute;z-index:9999;background:rgba(8,8,20,0.97);border:0.5px solid var(--border);border-radius:10px;padding:5px;min-width:170px;}
.ctx-item{padding:7px 12px;border-radius:6px;cursor:pointer;font-size:12px;color:var(--text);display:flex;align-items:center;gap:8px;}
.ctx-item:hover{background:rgba(255,255,255,0.08);}
.ctx-sep{height:0.5px;background:var(--border);margin:3px 6px;}
#notifications{position:fixed;top:12px;right:12px;display:flex;flex-direction:column;gap:8px;z-index:99999;pointer-events:none;}
.notif{background:rgba(10,10,25,0.96);border:0.5px solid var(--border);border-radius:10px;padding:11px 14px;font-size:12px;color:var(--text);max-width:280px;display:flex;align-items:center;gap:8px;animation:notif-in .2s ease;pointer-events:auto;}
.notif-out{animation:notif-out .2s ease forwards;}
@keyframes notif-in{from{transform:translateX(100%);opacity:0;}to{transform:none;opacity:1;}}
@keyframes notif-out{to{transform:translateX(100%);opacity:0;}}
