:root{
  --desktop-icon-size:58px;
  --desktop-icon-image-size:34px;
  --desktop-icon-cell:92px;
  --theme-taskbar-bg:rgba(7,3,12,.92);
  --theme-window-bg:rgba(20,10,33,.97);
  --theme-radius:12px;
}
.desktop-icon{flex:0 0 var(--desktop-icon-cell);min-width:var(--desktop-icon-cell);transition:transform .16s ease,background .16s ease,filter .16s ease}
.desktop-icon .icon-tile{width:var(--desktop-icon-size);height:var(--desktop-icon-size);border-radius:calc(var(--theme-radius) + 2px);transition:transform .16s ease,box-shadow .16s ease}
.desktop-icon img{width:var(--desktop-icon-image-size);height:var(--desktop-icon-image-size)}
.desktop-icon:hover .icon-tile{transform:translateY(-3px) scale(1.04);box-shadow:inset 0 1px rgba(255,255,255,.12),0 13px 28px rgba(0,0,0,.42),0 0 24px color-mix(in srgb,var(--icon-accent) 22%,transparent)}
.desktop-icons{display:flex;flex-wrap:nowrap;grid-template-columns:none;width:max-content;max-width:calc(100vw - 54px);gap:14px;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;padding:2px 7px 13px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--purple) 38%,transparent) transparent}
.taskbar{background:var(--theme-taskbar-bg);border-color:color-mix(in srgb,var(--purple) 24%,transparent)}
.fd-window{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-window-bg) 95%,white 5%),var(--theme-window-bg));border-radius:var(--theme-radius)}
.start-menu,.wallpaper-card,.widget-picker-card,.theme-card{border-radius:calc(var(--theme-radius) + 2px)}
body[data-desktop-effects="reduced"] .desktop-brand{mix-blend-mode:normal;opacity:.12}
body[data-desktop-effects="reduced"] .desktop-icon:hover .icon-tile{transform:translateY(-1px)}
body[data-desktop-effects="off"] *{animation:none!important;transition:none!important;backdrop-filter:none!important}
.private-desktop-mode .desktop-icon{cursor:grab}.private-desktop-mode .desktop-icon:active{cursor:grabbing}.desktop-icon.dragging{opacity:.4;transform:scale(.92)}.desktop-icon.drag-over{outline:1px dashed var(--purple-bright);background:rgba(140,78,202,.18)}
.theme-card{width:min(760px,100%);position:relative;padding:28px;background:linear-gradient(180deg,rgba(24,12,39,.98),rgba(8,4,14,.99));border:1px solid var(--border-strong);box-shadow:var(--shadow)}
.theme-card>p{margin:0 0 7px;color:var(--purple-bright);font-size:9px;font-weight:850;letter-spacing:.2em}.theme-card h2{margin:0 0 18px;font-size:26px}
.theme-layout-row{display:flex;gap:8px;margin-bottom:14px}.theme-layout-row button{flex:1;border:1px solid var(--border);background:#0d0715;color:var(--text);border-radius:9px;padding:10px;cursor:pointer}.theme-layout-row button.active{border-color:var(--purple-bright);background:color-mix(in srgb,var(--purple) 18%,#0d0715)}
.theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:430px;overflow:auto}.theme-option{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;border:1px solid var(--border);border-radius:11px;background:#0d0715;padding:11px;text-align:left;cursor:pointer}.theme-option:hover,.theme-option.active{border-color:var(--purple-bright);background:#1a0b29}.theme-swatch{height:58px;border-radius:9px;display:block;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.theme-option strong,.theme-option small{display:block}.theme-option strong{font-size:13px}.theme-option small{font-size:10px;color:var(--muted);margin-top:4px}.theme-size-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:15px;color:var(--muted);font-size:11px}.theme-size-row input{width:100%}
.desktop-context-menu{position:fixed;z-index:99999;width:190px;background:rgba(12,6,19,.98);border:1px solid var(--border);border-radius:10px;padding:5px;box-shadow:var(--shadow)}.desktop-context-menu button{width:100%;border:0;background:transparent;text-align:left;color:var(--muted);padding:9px;border-radius:7px;font-size:10px;cursor:pointer}.desktop-context-menu button:hover{background:rgba(137,72,188,.18);color:#fff}

/* Mac-style top bar and centred dock. */
body[data-desktop-layout="mac"] .taskbar{top:0;bottom:auto;height:42px;border-top:0;border-bottom:1px solid rgba(255,255,255,.11);background:color-mix(in srgb,var(--theme-taskbar-bg) 82%,transparent);box-shadow:0 9px 28px rgba(0,0,0,.2)}
body[data-desktop-layout="mac"] .desktop-workarea{inset:42px 0 92px}
body[data-desktop-layout="mac"] .desktop-status{top:14px;right:126px;z-index:9100}
body[data-desktop-layout="mac"] .start-button{height:42px;border-right:0;padding:0 13px}
body[data-desktop-layout="mac"] .start-button span{font-size:9px}
body[data-desktop-layout="mac"] .taskbar-apps{justify-content:center}
body[data-desktop-layout="mac"] .taskbar-app{height:29px;border-radius:8px}
body[data-desktop-layout="mac"] .taskbar-system{border-left:0}
body[data-desktop-layout="mac"] .start-menu{top:50px;bottom:auto;left:8px;transform:translateY(-8px) scale(.98)}
body[data-desktop-layout="mac"] .start-menu.open{transform:none}
body[data-desktop-layout="mac"] .desktop-icons{left:50%;top:auto;bottom:10px;transform:translateX(-50%);width:auto;max-width:calc(100vw - 34px);display:flex;grid-template-columns:none;gap:7px;align-items:flex-end;padding:10px 13px 8px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(20,12,29,.54);backdrop-filter:blur(22px) saturate(1.35);box-shadow:0 18px 48px rgba(0,0,0,.4);overflow-x:auto;overflow-y:visible}
body[data-desktop-layout="mac"] .desktop-icon{min-width:calc(var(--desktop-icon-size) + 11px);padding:3px;gap:4px}
body[data-desktop-layout="mac"] .desktop-icon strong{display:none}
body[data-desktop-layout="mac"] .desktop-icon:hover{background:transparent;transform:translateY(-7px) scale(1.1)}
body[data-desktop-layout="mac"] .desktop-icon .icon-tile{border-radius:calc(var(--theme-radius) + 5px);box-shadow:inset 0 1px rgba(255,255,255,.16),0 10px 25px rgba(0,0,0,.38)}
body[data-desktop-layout="mac"] .desktop-brand{top:50%}
body[data-desktop-layout="mac"] .fd-window{border-radius:calc(var(--theme-radius) + 5px);box-shadow:0 34px 90px rgba(0,0,0,.54),0 0 0 1px rgba(255,255,255,.04)}
body[data-desktop-layout="mac"] .window-titlebar{height:42px;flex-basis:42px;position:relative;background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.022))}
body[data-desktop-layout="mac"] .window-controls{order:-1;padding-left:10px;gap:7px;align-items:center}
body[data-desktop-layout="mac"] .window-controls button{width:13px;height:13px;align-self:auto;border:0;border-radius:50%;padding:0;color:transparent;overflow:hidden}
body[data-desktop-layout="mac"] .window-controls .close{background:#ff5f57}body[data-desktop-layout="mac"] .window-controls .min{background:#febc2e}body[data-desktop-layout="mac"] .window-controls .max{background:#28c840}
body[data-desktop-layout="mac"] .window-title{justify-content:center;padding:0 72px 0 10px;margin-left:-43px;pointer-events:none}body[data-desktop-layout="mac"] .window-title img{width:16px;height:16px}body[data-desktop-layout="mac"] .window-title small{display:none}
@media(max-height:720px){body[data-desktop-layout="mac"] .desktop-icons{bottom:7px;padding:7px 10px}}
@media(max-width:760px){.theme-options{grid-template-columns:1fr}}

.desktop-shell:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(circle at 50% 110%,color-mix(in srgb,var(--purple) 9%,transparent),transparent 36%);mix-blend-mode:screen}
.desktop-icons,.taskbar,.start-menu,.fd-window{isolation:isolate}.desktop-icon strong{text-shadow:0 2px 7px rgba(0,0,0,.95)}
body[data-desktop-layout="mac"] .desktop-icons::-webkit-scrollbar{height:0}body[data-desktop-layout="mac"] .desktop-icons{scrollbar-width:none}
body[data-desktop-layout="mac"] #show-desktop{display:none}body[data-desktop-layout="mac"] .taskbar-media{border-radius:8px}
body[data-desktop-layout="mac"] .desktop-status{font-size:8px;opacity:.72}
@media(max-width:950px){.desktop-icons{max-width:calc(100vw - 24px)}}

/* v1.6.1: public desktop icons remain in one horizontal row. */
.desktop-icons::-webkit-scrollbar{height:5px}.desktop-icons::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--purple) 34%,transparent);border-radius:999px}.desktop-icons::-webkit-scrollbar-track{background:transparent}
body[data-desktop-layout="mac"] .desktop-icons::-webkit-scrollbar{height:0}
