/* Stable shell geometry: hover changes compositor transforms, never dock layout. */
#dock{--dock-size:clamp(18px,calc((100vw - 58px)/18.5),48px);gap:0;padding:9px 10px 7px;height:calc(var(--dock-size) + 24px);align-items:flex-end;border-radius:20px;transition:none}
#dock .dock-item,#dock .dock-item:hover,#dock .dock-item:has(+.dock-item:hover),#dock .dock-item:hover+.dock-item{width:calc(var(--dock-size)*1.32);height:calc(var(--dock-size) + 6px);flex:0 0 calc(var(--dock-size)*1.32);padding:0 0 6px;transform:none;transition:none;background:none}
#dock .dock-art{width:var(--dock-size);height:var(--dock-size);display:block;margin:auto;transform-origin:50% 100%;transition:transform 160ms cubic-bezier(.2,.8,.2,1)}
#dock .dock-item img.app-icon{width:100%;height:100%;display:block;object-fit:contain;border:0;border-radius:0;background:none;box-shadow:none;transition:none;transform:scale(var(--art-scale,1));pointer-events:none}
#dock [data-dock=files]{--art-scale:1.23}#dock [data-dock=launchpad]{--art-scale:1.20}#dock [data-dock=trash]{--art-scale:1.12}#dock [data-dock=terminal],#dock [data-dock=reminders]{--art-scale:1.035}
#dock .dock-item:hover .dock-art,#dock .dock-item:focus-visible .dock-art{transform:translateY(-7px) scale(1.24)}
#dock .dock-item:has(+.dock-item:hover) .dock-art,#dock .dock-item:hover+.dock-item .dock-art{transform:translateY(-2px) scale(1.06)}
#dock .dock-item:before{bottom:calc(var(--dock-size)*1.24 + 19px);transition:opacity 100ms;z-index:2}#dock .dock-divider{height:calc(var(--dock-size)*.8);margin:0 5px}#dock .dock-item.running:after{bottom:0}
.menu-right button:not(#clock){width:32px;display:grid;place-items:center;padding:0}.menu-right button svg{width:17px;height:17px}.menu-left .brand{display:grid;place-items:center;padding:0 9px}
.window .titlebar,.window .traffic button{transition:background-color 120ms,opacity 120ms}.window.dragging-window{animation:none;transition:none}.window-gesture{user-select:none}
.resize-handle{position:absolute;z-index:30;touch-action:none;background:transparent}.resize-n,.resize-s{height:6px;left:12px;right:12px;cursor:ns-resize}.resize-n{top:0}.resize-s{bottom:0}.resize-e,.resize-w{width:6px;top:12px;bottom:12px;cursor:ew-resize}.resize-e{right:0}.resize-w{left:0}.resize-ne,.resize-nw,.resize-se,.resize-sw{width:13px;height:13px}.resize-ne,.resize-nw{top:0}.resize-se,.resize-sw{bottom:0}.resize-ne,.resize-se{right:0}.resize-nw,.resize-sw{left:0}.resize-ne,.resize-sw{cursor:nesw-resize}.resize-nw,.resize-se{cursor:nwse-resize}.maximized .resize-handle{display:none}
input:not([type=range]):not([type=checkbox]),textarea,[contenteditable=true],.terminal,.terminal input{cursor:url('assets/cursors/text.svg') 12 12,text}
input[type=range]{--range-progress:50%;appearance:none;-webkit-appearance:none;height:5px!important;padding:0!important;border:0!important;border-radius:8px;background:linear-gradient(to right,var(--accent) 0 var(--range-progress),#8e8e9638 var(--range-progress) 100%);cursor:default;outline-offset:5px}
input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:#fff;border:1px solid #00000018;box-shadow:0 1px 3px #0003;cursor:default}
input[type=range]::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:#fff;border:1px solid #00000018;box-shadow:0 1px 3px #0003;cursor:default}
.photo-card{transform-origin:top left;transition:none}.photo-grid .photo-card img{transition:filter 150ms}.photo-grid .photo-card:hover{transform:none}
#control{width:342px;padding:12px;border-radius:18px;background:#e4e7edcf;backdrop-filter:blur(30px) saturate(1.3);color:#25252b;animation:menu-in 140ms ease-out;box-shadow:0 16px 50px #0004,inset 0 1px #ffffff80}
#control button{margin:0;width:auto;padding:6px;align-items:center;gap:8px;border-radius:8px;color:inherit}#control button:hover{background:#80808020}#control label{margin:0;font-size:12px;font-weight:600}#control input{width:100%;min-width:0}
.cc-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:650;padding:0 2px 8px}.cc-tiles{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:9px}
#control .cc-tile{display:flex;min-height:74px;width:100%;padding:12px;background:#ffffff90;border:1px solid #ffffff45;border-radius:12px;justify-content:flex-start;text-align:left}.cc-tile>svg{box-sizing:content-box;padding:9px;border-radius:50%;background:#88888822}.cc-tile.on>svg{background:#3478f6;color:white}.cc-tile span{display:flex;flex-direction:column;gap:4px}.cc-tile small{font-size:10px;opacity:.65}
.cc-panel{padding:12px;background:#ffffff90;border:1px solid #ffffff45;border-radius:12px;margin-bottom:9px}.cc-panel>label{display:flex!important;justify-content:space-between;align-items:center}.cc-slider{display:flex;align-items:center;gap:10px;margin-top:13px;padding:3px 0 5px}.cc-slider svg{opacity:.65}#control .cc-slider input{height:7px!important;--accent:#707781}
.cc-media{display:flex;align-items:center;gap:10px}.cc-art{width:44px;height:44px;object-fit:cover;border-radius:7px;background:#8882}.cc-track{flex:1;min-width:0}.cc-track b,.cc-track small{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cc-track b{font-size:12px}.cc-track small{font-size:10px;opacity:.6;margin-top:4px}.cc-footer{display:flex;align-items:center;justify-content:space-between;font-size:10px;padding:0 2px}.cc-footer>span{opacity:.6}
.dark #control{background:#33363cd9;color:#f5f5f7;border-color:#ffffff25}.dark #control .cc-tile,.dark #control .cc-panel{background:#ffffff0c;border-color:#ffffff0b}.dark #control .cc-slider input{--accent:#e7e9ee}
#lock{background:linear-gradient(#00000012,#00000038),var(--lock-wall,var(--wall)) center/cover}.unlock-field{position:relative;display:flex;width:210px;border:1px solid #ffffff35;border-radius:22px;background:#ffffff26;backdrop-filter:blur(16px)}#unlock-form .unlock-field input{background:transparent;border:0;box-shadow:none;width:100%;padding:10px 39px 10px 14px;color:#fff}#unlock-form .unlock-field input::placeholder{color:#ffffffae}#unlock-form #unlock-eye{position:absolute;right:2px;top:1px;width:32px;height:32px;color:#fff;display:grid;place-items:center;background:none}#unlock-eye[aria-pressed=true]{opacity:.65}
.setting-row .switch{appearance:none;-webkit-appearance:none;width:34px;height:20px;padding:2px;border:0;border-radius:12px;background:#9b9ba3;position:relative;cursor:default;transition:background 150ms;flex:none}.switch:after{content:'';display:block;background:white;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0003;transition:transform 150ms}.setting-row .switch:checked{background:#3478f6}.switch:checked:after{transform:translateX(14px)}.wallpapers{flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){#dock .dock-art,.window .titlebar,.switch:after,.photo-card img{transition:none}#control{animation:none}}
input[type=range],.setting-row .switch{cursor:url('assets/cursor.svg') 3 2,default}
input[type=range]::-webkit-slider-thumb{cursor:url('assets/cursor.svg') 3 2,default}
input[type=range]::-moz-range-thumb{cursor:url('assets/cursor.svg') 3 2,default}
#lock{backdrop-filter:none}.window.window-gesture{animation:none;transition:none}
