/* themes/aurora.css */
@import "./base.css";
:root {
  /* Backgrounds */
  --bg-primary: #0a0a1a;
  --bg-secondary: #1a0a2e;
  --bg-glass: rgba(30, 30, 30, 0.65);
  --bg-glass-heavy: rgba(40, 40, 40, 0.95);
  --bg-glass-menu: rgba(40, 40, 40, 0.85);
  --bg-input: rgba(255, 255, 255, 0.08);
  --bg-hover: rgba(255, 255, 255, 0.12);
  --bg-active: rgba(0, 122, 255, 0.3);
  --bg-active-hover: rgba(0, 122, 255, 0.6);
  --bg-accent: rgba(0, 122, 255, 0.8);
  
  /* Text */
  --text-primary: rgba(255, 255, 255, 0.85);
  --text-secondary: rgba(255, 255, 255, 0.7);
  --text-muted: rgba(255, 255, 255, 0.4);
  --text-faint: rgba(255, 255, 255, 0.35);
  
  /* Borders */
  --border-color: rgba(255, 255, 255, 0.08);
  --border-hover: rgba(255, 255, 255, 0.12);
  --border-strong: rgba(255, 255, 255, 0.15);
  
  /* Shadows */
  --shadow-window: 0 0.75rem 3rem rgba(0, 0, 0, 0.4);
  --shadow-menu: 0 1.25rem 3.75rem rgba(0, 0, 0, 0.5);
  --shadow-notif: 0 0.5rem 2rem rgba(0, 0, 0, 0.3);
  --shadow-dock: 0 0.5rem 2rem rgba(0, 0, 0, 0.3);
  
  /* Scrollbar */
  --scrollbar-bg: transparent;
  --scrollbar-thumb: rgba(255, 255, 255, 0.15);
  --scrollbar-thumb-hover: rgba(255, 255, 255, 0.25);
  
  /* Window Controls */
  --color-close: #ff5f57;
  --color-minimize: #febc2e;
  --color-maximize: #28c840;
}

* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif; overflow:hidden; height:100vh; width:100vw; user-select:none; background:var(--bg-primary); color:var(--text-primary); }

/* Loading */
#loading-screen { position:fixed; inset:0; z-index:99999; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--bg-primary); transition:opacity .8s ease; }
#loading-screen.hidden { opacity:0; pointer-events:none; }
.loader-ring { width:5rem; height:5rem; border-radius:50%; border:0.25rem solid transparent; border-top:0.25rem solid #fff; border-right:0.25rem solid rgba(255,255,255,.5); animation:spin 1s linear infinite; }
.loader-text { color:#fff; margin-top:1.5rem; font-size:0.875rem; letter-spacing:0.1875rem; text-transform:uppercase; opacity:.7; }
.loader-dots::after { content:''; animation:dots 1.5s steps(4) infinite; }

/* Aurora & Wallpaper */
#aurora-canvas { position:fixed; inset:0; z-index:0; }
.wallpaper-alt { position:fixed; inset:0; z-index:0; background-size:cover; background-position:center; display:none; }

/* Lock Screen */
#lock-screen { position:fixed; inset:0; z-index:9999; display:flex; flex-direction:column; align-items:center; justify-content:center; background:rgba(0,0,0,.4); backdrop-filter:blur(1.875rem); transition:all .6s ease; cursor:pointer; }
#lock-screen.hidden { opacity:0; pointer-events:none; transform:translateY(-100%); }
#lock-time { color:#fff; font-size:5rem; font-weight:200; letter-spacing:-0.125rem; }
#lock-date { color:var(--text-secondary); font-size:1.125rem; margin-top:0.5rem; }
#lock-hint { color:var(--text-muted); font-size:0.8125rem; margin-top:2.5rem; animation:pulse 2s ease infinite; }
#lock-pass { display:none; flex-direction:column; align-items:center; gap:0.75rem; }
#lock-pass input { background:var(--bg-input); border:0.0625rem solid var(--border-color); border-radius:1.25rem; padding:0.625rem 1.25rem; color:#fff; font-size:1rem; width:12.5rem; outline:none; backdrop-filter:blur(0.625rem); }
#lock-pass input::placeholder { color:var(--text-faint); }
#lock-pass .pass-dots { display:flex; gap:0.5rem; }
#lock-pass .pass-dot { width:0.625rem; height:0.625rem; border-radius:50%; border:0.0625rem solid var(--border-color); transition:all .2s; }
#lock-pass .pass-dot.filled { background:#fff; border-color:#fff; }
#lock-pass .pass-error { color:#ff6b6b; font-size:0.75rem; display:none; }

/* Taskbar */
#taskbar { position:fixed; top:0; left:0; right:0; height:2rem; z-index:9000; background:var(--bg-glass); backdrop-filter:blur(1.875rem); display:flex; align-items:center; padding:0 0.75rem; border-bottom:0.0625rem solid var(--border-color); }
#taskbar-left { display:flex; align-items:center; gap:1rem; flex:1; }
#taskbar-center { display:flex; align-items:center; gap:0.25rem; flex:1; justify-content:center; }
#taskbar-right { display:flex; align-items:center; gap:0.75rem; flex:1; justify-content:flex-end; }
.taskbar-btn { background:none; border:none; color:var(--text-primary); cursor:pointer; font-size:0.8125rem; padding:0.3125rem 0.375rem; transition:background .2s; display:flex; align-items:center; gap:0.25rem; }
.taskbar-btn:hover { background:var(--bg-hover); }
.taskbar-app-btn { position:relative; }
.taskbar-app-btn.active::after { content: ''; position: absolute; bottom: 0; width: stretch; height: 0.125rem; background: #49834999; margin: 0 0.125rem 0 0; }
#taskbar-clock { font-size:0.75rem; color:var(--text-primary); font-weight:500; }

/* Start Menu */
#start-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9499;display:none;background:rgba(0,0,0,.4);transition:all .25s cubic-bezier(.4,0,.2,1)}
#start-menu { position: fixed; transform: scale(.9); transform-origin: top left; opacity: 0; pointer-events: none; transition: all .25s cubic-bezier(.4,0,.2,1); overflow: hidden; z-index: 9500; background: var(--bg-glass-menu); backdrop-filter: blur(2.5rem); border-radius: 0.75rem; border: 0.0625rem solid var(--border-color); box-shadow: var(--shadow-menu); }
#start-menu.open { opacity: 1; pointer-events: auto; transform: scale(1); }
#start-search { width:stretch; padding:0.5625rem 0.875rem; background:var(--bg-input); border:none; border-radius:0.5rem; color:var(--text-primary); font-size:0.8125rem; outline:none; margin:0.625rem; border:0.0625rem solid var(--border-color); }
#start-search::placeholder { color:var(--text-faint); }
#start-apps { padding:0 0.875rem 1.5rem 0.875rem; max-height:23.75rem; overflow-y:auto; display:grid; grid-template-columns:repeat(4,1fr); gap:0.25rem; }
.start-app-item { display:flex; flex-direction:column; align-items:center; gap:0.375rem; padding:0.75rem 0.5rem; border-radius:0.5rem; cursor:pointer; transition:background .15s; }
.start-app-item:hover { background:var(--bg-hover); }
.start-app-icon { width:2.75rem; height:2.75rem; display:flex; align-items:center; justify-content:center; font-size:2rem; }
.start-app-name { font-size:0.6875rem; color:var(--text-primary); text-align:center; }
.start-app-item.hidden { display:none; }
#start-menu-footer{padding:0.75rem 1.25rem;border-top:0.0625rem solid rgba(255,255,255,0.08);
  display:flex;justify-content:space-between;align-items:center}
#start-menu-footer span{font-size:0.6875rem;color:rgba(255,255,255,0.5)}
.power-btn{width:2rem;height:2rem;border-radius:0.5rem;border:none;cursor:pointer;
  background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.6);font-size:0.875rem;transition:0.2s}
.power-btn:hover{background:rgba(255,80,80,0.3);color:white}

/* Dock */
#dock { position:fixed; bottom:0.5rem; left:50%; transform:translateX(-50%); z-index:9000; display:flex; align-items:end; gap:0.25rem; padding:0.375rem 0.625rem; 
        background:var(--bg-glass); backdrop-filter:blur(1.875rem); border-radius:1rem; border:0.0625rem solid var(--border-hover); box-shadow:var(--shadow-dock); }
.dock-item { width:3rem; height:3rem; display:flex; align-items:center; justify-content:center; font-size:2rem; cursor:pointer; border-radius:0.625rem; transition:all .2s cubic-bezier(.4,0,.2,1); position:relative; }
.dock-item:hover { transform:translateY(-0.5rem) scale(1.3); }
.dock-item:hover .dock-tooltip { opacity:1; transform:translateY(-0.5rem); }
.dock-tooltip { position:absolute; top:-2rem; background:var(--bg-glass-heavy); backdrop-filter:blur(0.625rem); color:#fff; padding:0.25rem 0.625rem; border-radius:0.25rem; font-size:0.6875rem; white-space:nowrap; opacity:0; transition:all .15s; pointer-events:none; border:0.0625rem solid var(--border-color); }
.dock-dot { position:absolute; bottom:-0.25rem; width:0.25rem; height:0.25rem; border-radius:50%; background:rgba(255,255,255,.6); }
.dock-separator { width:0.0625rem; height:2.25rem; background:rgba(255,255,255,.15); margin:0 0.25rem; align-self:center; }
.dock-item:hover .dock-tooltip { transform: scale(1);}
.dock-group:hover,.dock-group.menu-open { transform: translateY(-0.5rem) scale(1.3);}
.dock-group.menu-open .dock-tooltip { opacity: 1; transform: scale(1);}
.group-menu { position: absolute; bottom: calc(100% + 0.5rem); left: 50%; transform: translateX(-50%); background: var(--bg-glass); backdrop-filter: blur(1.25rem); border: 0.0625rem solid var(--border-hover); 
              border-radius: 0.75rem; padding: 0.25rem; display: flex; flex-direction: column; gap: 0.125rem; min-width: 8.75rem; box-shadow: var(--shadow-dock); z-index: 9999; pointer-events: auto; animation: menuPop 0.15s cubic-bezier(.2, .8, .2, 1);}
.group-menu::after { content: ''; position: absolute; bottom: -0.375rem; left: 50%; transform: translateX(-50%); border-left: 0.375rem solid transparent; border-right: 0.375rem solid transparent; border-top: 0.375rem solid var(--border-hover);}
@keyframes menuPop { from { opacity: 0; transform: translateX(-50%) translateY(0.5rem) scale(0.95); }
 to   { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
}
.group-menu-item { display: flex; align-items: center; gap: 0.5rem; padding: 0.3125rem 0.4375rem; border-radius: 0.5rem; cursor: pointer; transition: background 0.15s; color: #fff; user-select: none; white-space: nowrap;}
.group-menu-item:hover { background: rgba(255,255,255,0.15);}
.group-menu-item .menu-icon { font-size: 1.25rem; }
.group-menu-item .menu-name { font-size: 0.625rem; font-weight: 500; }
.group-menu-label {
    padding: 0.375rem 0.75rem;
    margin: 0;
    font-size: 0.5rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted, #888);
    pointer-events: none;
    text-align: right;
}

/* Windows */
.window { position:fixed; min-width:18.75rem; min-height:12.5rem; background:var(--bg-glass-heavy); backdrop-filter:blur(2.5rem); border-radius:0.625rem; border:0.0625rem solid var(--border-color); box-shadow:var(--shadow-window); display:flex; flex-direction:column; overflow:hidden; animation:windowOpen .3s cubic-bezier(.4,0,.2,1); }
.window.closing { animation:windowClose .2s ease forwards; }
.window.dragging { opacity:.9; }
.window.focused { box-shadow:0 1rem 4rem rgba(0,0,0,.5); border-color:var(--border-hover); }
.window-header { height:2.25rem;background:linear-gradient(to bottom,#2d2d2d,#242424);display:flex;align-items:center;padding:0 0.625rem;cursor:default;border-bottom:0.0625rem solid rgba(0,0,0,0.3);}
.window-menu { display: flex; gap: 0.125rem; padding: 0.25rem 0.5rem; border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.06); flex-shrink: 0; background:rgba(0, 0, 0, 0.1); }
.window-title { flex:1; text-align:center; color:var(--text-secondary); font-size:0.8125rem; font-weight:500; }
.window-controls { display:flex; gap:0.5rem; position:absolute; }
.window-ctrl { width:0.75rem; height:0.75rem; border-radius:50%; cursor:pointer; border:none; transition:opacity .15s; color:transparent; font-size:0.5rem; align-items: center; justify-content: center; display:flex; }
.window-ctrl:hover { opacity:.8; color:rgba(0,0,0,0.6); }
.ctrl-close { background:var(--color-close); }
.ctrl-minimize { background:var(--color-minimize); }
.ctrl-maximize { background:var(--color-maximize); }
.window-body { flex:1; overflow:auto; color:var(--text-primary); position:relative; }
.window-resize { position: absolute; z-index: 10; }
.resize-n { top: -0.1875rem; left: 0.625rem; right: 0.625rem; height: 0.375rem; cursor: n-resize; }
.resize-ne { top: -0.1875rem; right: -0.1875rem; width: 0.75rem; height: 0.75rem; cursor: ne-resize; }
.resize-e { top: 0.625rem; bottom: 0.625rem; right: -0.1875rem; width: 0.375rem; cursor: e-resize; }
.resize-se { bottom: -0.1875rem; right: -0.1875rem; width: 0.75rem; height: 0.75rem; cursor: se-resize; }
.resize-s { bottom: -0.1875rem; left: 0.625rem; right: 0.625rem; height: 0.375rem; cursor: s-resize; }
.resize-sw { bottom: -0.1875rem; left: -0.1875rem; width: 0.75rem; height: 0.75rem; cursor: sw-resize; }
.resize-w { top: 0.625rem; bottom: 0.625rem; left: -0.1875rem; width: 0.375rem; cursor: w-resize; }
.resize-nw { top: -0.1875rem; left: -0.1875rem; width: 0.75rem; height: 0.75rem; cursor: nw-resize; }

/* Context Menu */
.context-menu { position:fixed; z-index:99999; background:var(--bg-glass-heavy); backdrop-filter:blur(1.875rem); border-radius:0.5rem; border:0.0625rem solid var(--border-color); box-shadow:var(--shadow-notif); min-width:11.25rem; padding:0.25rem; animation:ctxOpen .12s ease; }
.ctx-item { padding:0.375rem 0.75rem; font-size:0.8125rem; color:var(--text-primary); cursor:pointer; border-radius:0.25rem; display:flex; align-items:center; gap:0.5rem; }
.ctx-item:hover { background:var(--bg-active-hover); color:#fff; }
.ctx-separator { height:0.0625rem; background:var(--border-color); margin:0.25rem 0.5rem; }

/* Notifications */
#notification-container { position:fixed; top:2.25rem; right:0.75rem; z-index:9999; display:flex; flex-direction:column; gap:0.5rem; }
.notification { background:var(--bg-glass-heavy); backdrop-filter:blur(1.875rem); border-radius:0.625rem; border:0.0625rem solid var(--border-color); padding:0.75rem 1rem; min-width:17.5rem; max-width:21.25rem; box-shadow:var(--shadow-notif); animation:notifIn .3s ease; }
.notification.removing { animation:notifOut .3s ease forwards; }
.notif-title { font-size:0.8125rem; font-weight:600; color:#fff; margin-bottom:0.125rem; }
.notif-body { font-size:0.75rem; color:var(--text-secondary); }
.notif-app { font-size:0.625rem; color:var(--text-faint); margin-top:0.25rem; }

/* File Manager */
.fm-grid { flex: 1; padding: 0.625rem; display: flex; flex-wrap: wrap; align-content: flex-start; gap: 0.5rem; overflow-y: auto; }
.fm-item { display:flex; flex-direction:column; align-items:center; gap:0.25rem; padding:0.5rem; border-radius:0.5rem; cursor:pointer; transition:background .15s; }
.fm-item:hover { background:rgba(255,255,255,.08); }
.fm-item.selected { background:var(--bg-active); }
.fm-icon { font-size:2.25rem; }
.fm-name { font-size:0.6875rem; text-align:center; color:var(--text-secondary); word-break:break-all; }
.fm-toolbar { display:flex; align-items:center; gap:0.5rem; padding:0.5rem 0.75rem; border-bottom:0.0625rem solid var(--border-color); }
.fm-path { flex:1; background:var(--bg-input); border:none; border-radius:0.375rem; padding:0.4375rem 0.5rem; color:#fff; font-size:0.75rem; outline:none; }
.fm-toolbar-btn { background:rgba(255,255,255,.08); border:none; color:var(--text-primary); padding:0.4375rem 0.625rem; border-radius:0.25rem; cursor:pointer; font-size:0.75rem; }
.fm-toolbar-btn:hover { background:rgba(255,255,255,.15); }
.fm-sidebar{ min-width:10rem;padding:0.75rem;border-right:0.0625rem solid rgba(255,255,255,0.06);height:100%;overflow-y:auto;flex-shrink:0; }
.fm-sidebar-item { padding: 0.375rem 0.5rem; border-radius: 0.25rem; cursor: pointer; color: rgba(255, 255, 255, .7); display: flex; align-items: center; gap: 0.5rem; font-size: 0.8125rem; }
.fm-sidebar-item.selected { background:var(--bg-active); }
.fm-sidebar-title { font-size: 0.6875rem; text-transform: uppercase; color: rgba(255, 255, 255, .4); margin-bottom: 0.5rem; }

.fm-main { min-width:0; }
.fm-grid { min-width:0; }
.fm-grid.fm-details-view { display:block !important; overflow:auto; padding:0 !important; width:100% !important; min-width:0; box-sizing:border-box; }
.fm-details-header, .fm-grid.fm-details-view .fm-item { display:grid !important; grid-template-columns:minmax(220px, 1fr) 120px 110px 190px; align-items:center; gap:12px; min-height:34px; padding:0 12px !important; width:100% !important; max-width:none !important; box-sizing:border-box; }
.fm-details-header { position:sticky; top:0; z-index:1; background:var(--bg-glass-heavy); border-bottom:1px solid var(--border-color); color:rgba(255,255,255,.72); font-size:12px; }
.fm-details-header span { display:block; padding:9px 0; white-space:nowrap; }
.fm-grid.fm-details-view .fm-item { height:auto !important; min-height:34px; border-radius:0 !important; border-bottom:1px solid rgba(255,255,255,.06); justify-items:stretch; text-align:left; }
.fm-details-name { display:flex; align-items:center; gap:10px; min-width:0; overflow:hidden; }
.fm-grid.fm-details-view .fm-icon { font-size:18px; width:24px; text-align:center; flex:0 0 auto; }
.fm-grid.fm-details-view .fm-name { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; text-align:left; }
.fm-details-type, .fm-details-size, .fm-details-date { color:rgba(255,255,255,.58); font-size:.82rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fm-statusbar { display:flex; gap:16px; align-items:center; min-height:28px; padding:4px 10px; border-top:1px solid var(--border-color); color:rgba(255,255,255,.58); font-size:.78rem; background:rgba(0,0,0,.14); overflow:hidden; white-space:nowrap; }
.fm-statusbar span:first-child { color:rgba(255,255,255,.78); overflow:hidden; text-overflow:ellipsis; }
.ctx-item { display:flex; align-items:center; gap:8px; }
.ctx-icon { width:18px; min-width:18px; display:inline-flex; align-items:center; justify-content:center; text-align:center; }
.ctx-label { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ctx-item.has-submenu { position:relative; padding-right:24px; }
.ctx-item.has-submenu::after { content:'›'; position:absolute; right:10px; opacity:.7; }
.ctx-submenu { display:none; position:absolute; top:-4px; left:100%; min-width:190px; }
.ctx-item.has-submenu:hover > .ctx-submenu { display:block; }
@media (max-width:760px) { 
.fm-details-header, .fm-grid.fm-details-view .fm-item { grid-template-columns:minmax(140px,1fr) 92px 90px; } 
.fm-details-date, .fm-details-header span[data-sort="modified"] { display:none; } 
}

/* Notepad */
.notepad-container { display: flex; flex-direction: column; height: 100%; }
.notepad-area { flex: 1; min-height: 0; width: 100%; background: transparent; border: none; color: rgba(255, 255, 255, 0.85); padding: 0.75rem; font-size: 0.875rem; font-family: inherit; resize: none; outline: none; line-height: 1.6; }
.notepad-menu { display: flex; gap: 0.125rem; padding: 0.25rem 0.5rem; border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.06); flex-shrink: 0; }
.notepad-menu-btn { background: none; border: none; color: rgba(255, 255, 255, 0.6); padding: 0.25rem 0.5rem; font-size: 0.75rem; cursor: pointer; border-radius: 0.25rem; }
.notepad-menu-btn:hover { background: rgba(255, 255, 255, 0.1); color: #fff; }
.notepad-status { padding: 0.25rem 0.75rem; border-top: 0.0625rem solid rgba(255, 255, 255, 0.06); font-size: 0.6875rem; color: rgba(255, 255, 255, 0.35); display: flex; justify-content: space-between; flex-shrink: 0; background: rgba(0, 0, 0, 0.1); }

/* Terminal */
.terminal { background:rgba(0,0,0,.6); height:100%; padding:0.5rem; font-family:Consolas,monospace; font-size:0.8125rem; overflow-y:auto; color:#55ed55; }
.terminal-line { margin-bottom:0.125rem; white-space:pre-wrap; word-break:break-all; }
.terminal-input-line { display:flex; align-items:center; }
.terminal-prompt { color:#0f0; margin-right:0.25rem; white-space:nowrap; }
.terminal-input { background:none; border:none; color:#0f0; font-family:inherit; font-size:inherit; flex:1; outline:none; caret-color:#0f0; }

/* Settings */
.settings-layout { display:flex; height:100%; }
.settings-sidebar { width:11.25rem; border-right:0.0625rem solid var(--border-color); padding:0.5rem; }
.settings-sidebar-btn { width:100%; background:none; border:none; color:var(--text-secondary); padding:0.5rem 0.75rem; text-align:left; cursor:pointer; border-radius:0.375rem; font-size:0.8125rem; display:flex; align-items:center; gap:0.5rem; }
.settings-sidebar-btn:hover { background:rgba(255,255,255,.08); }
.settings-sidebar-btn.active { background:var(--bg-active); color:#fff; }
.settings-content { flex:1; padding:1.25rem; overflow-y:auto; }
.settings-panel { display:none; }
.settings-panel.active { display:block; }
.wallpaper-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0.75rem; margin-top:0.75rem; }
.wallpaper-option { height:6.25rem; border-radius:0.5rem; cursor:pointer; border:0.125rem solid transparent; transition:border-color .15s; position:relative; }
.wallpaper-option:hover, .wallpaper-option.active { border-color:var(--bg-active-hover); }
.wallpaper-option .wp-label { position: absolute; bottom: 0.25rem; left: 0.25rem; font-size: 0.625rem; color: #fff; background: rgba(0, 0, 0, 0.2); padding: 0.125rem 0.375rem; border-radius: 0.25rem; }
.setting-row { display:flex; justify-content:space-between; align-items:center; padding:0.75rem 0; border-bottom:0.0625rem solid var(--border-color); }
.setting-label { color:var(--text-secondary); font-size:0.875rem; }
.toggle { width:2.75rem; height:1.5rem; background:rgba(255,255,255,.15); border-radius:0.75rem; cursor:pointer; position:relative; transition:background .2s; }
.toggle.on { background:var(--bg-active-hover); }
.toggle::after { content:''; position:absolute; width:1.25rem; height:1.25rem; border-radius:50%; background:#fff; top:0.125rem; left:0.125rem; transition:transform .2s; }
.toggle.on::after { transform:translateX(1.25rem); }

/* Games */
.game-canvas { width:100%; height:100%; display:block; }

/* Scrollbar */
::-webkit-scrollbar { width:0.5rem; }
::-webkit-scrollbar-track { background:var(--scrollbar-bg); }
::-webkit-scrollbar-thumb { background:var(--scrollbar-thumb); border-radius:0.25rem; }
::-webkit-scrollbar-thumb:hover { background:var(--scrollbar-thumb-hover); }

/* Theme Selector UI */
.theme-option { height:6.25rem; border-radius:0.5rem; cursor:pointer; border:0.125rem solid transparent; transition:border-color .15s; position:relative; }
.theme-option:hover { transform:scale(1.05); }
.theme-option.active { border-color:var(--bg-active-hover); }
.theme-preview { width:100%; height:100%; border-radius:0.375rem; }
.theme-name { position: absolute; bottom: 0.25rem; left: 0.25rem; font-size: 0.625rem; color: #fff; background: rgba(0, 0, 0, 0.2); padding: 0.125rem 0.375rem; border-radius: 0.25rem; }

/* ===== SHUTDOWN OVERLAY ===== */
.shutdown-overlay{display:flex;align-items:center;justify-content:center;height:100%;flex-direction:column;gap:1rem;background:#111111aa}

/* ===== CUSTOM PROMPT ===== */
.custom-prompt-overlay { display:none; position:fixed; inset:0; z-index:999999; background:rgba(0,0,0,0.3); backdrop-filter:blur(0.5rem); align-items:center; justify-content:center; animation:fadeIn 0.15s ease; }
.custom-prompt-overlay.active { display:flex; }
.custom-prompt-box { width:21.25rem; background:var(--bg-glass-heavy); backdrop-filter:blur(1.875rem); border-radius:0.75rem; border:0.0625rem solid var(--border-color); box-shadow:var(--shadow-window); padding:0.9375rem; display:flex; flex-direction:column; gap:0.875rem; animation:promptIn 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
.custom-prompt-title { color:#fff; font-size:0.9375rem; font-weight:500; text-align:center; letter-spacing:0.01875rem; white-space: pre-wrap; }
.prompt-input { width:100%; background:var(--bg-input); border:0.0625rem solid var(--border-color); border-radius:0.5rem; padding:0.5rem 0.625rem; color:var(--text-primary); font-size:0.8125rem; outline:none; transition:border-color 0.2s, background 0.2s; }
.prompt-input:focus { border-color:var(--bg-active-hover); background:rgba(255,255,255,0.05); }
.prompt-text { font-size:0.8125rem; }
.custom-prompt-actions { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 0.25rem; }
.custom-prompt-btn { padding:0.5rem 1.25rem; border-radius:0.375rem; cursor:pointer; font-size:0.8125rem; font-weight:500; transition:all 0.15s; border:none; }
.custom-prompt-btn.cancel { background:transparent; border:0.0625rem solid var(--border-color); color:var(--text-secondary); }
.custom-prompt-btn.cancel:hover { background:rgba(255,255,255,0.08); color:var(--text-primary); }
.custom-prompt-btn.ok { background:var(--bg-active-hover); color:#fff; }
.custom-prompt-btn.ok:hover { filter:brightness(1.1); }
@keyframes promptIn { from { opacity:0; transform:scale(0.9) translateY(0.625rem); } to { opacity:1; transform:scale(1) translateY(0); } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
.prompt-input-wrapper { position: relative; width: 100%; }
.prompt-input { padding-right: 2.5rem; }
.prompt-toggle {
  position: absolute; right: 0.5rem; top: 50%; transform: translateY(-50%);
  background: none; border: none; cursor: pointer; font-size: 1rem;
  color: var(--text-muted); padding: 0.25rem; border-radius: 0.25rem; transition: all 0.15s;
}
.prompt-toggle:hover { color: var(--text-primary); background: rgba(255,255,255,0.05); }

.desktop-grid { flex: 1; padding: 0.625rem; display: flex; flex-wrap: wrap; align-content: flex-start; gap: 0.5rem; overflow-y: auto; position:relative;top:1.625rem; flex-direction:column; height:100%; }
.desktop-item { display:flex; flex-direction:column; align-items:center; gap:0.25rem; padding:0.5rem; border-radius:0.5rem; cursor:pointer; }
.desktop-item:hover { background:rgba(255,255,255,.08); }
.desktop-item.selected { background:var(--bg-active); }
.desktop-icon { font-size:2.25rem; }
.desktop-name { font-size:0.6875rem; text-align:center; color:var(--text-secondary); word-break:break-all; }