html,body,#app{touch-action:pan-x pan-y;overscroll-behavior:none}/** [CODEX - 2026-06-22 00:58:00] * Pliant is bundled from Google Fonts and used as Cloudesk's primary UI typeface,with the previous system stack left behind it. */ @font-face{font-family:"Pliant";src:url("../fonts/pliant/Pliant-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Pliant";src:url("../fonts/pliant/Pliant-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Pliant";src:url("../fonts/pliant/Pliant-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"Pliant";src:url("../fonts/pliant/Pliant-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Pliant";src:url("../fonts/pliant/Pliant-ExtraBold.ttf") format("truetype");font-weight:800 900;font-style:normal;font-display:swap}
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#d9deea}
:root{--accent:#2fbf9b;--accent-2:#1b8eaa;--wallpaper-a:#111827;--wallpaper-b:#28445c;--wallpaper-c:#f3b27f}
html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:"Pliant",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{margin:0;line-height:inherit}
body,#app{user-select:none;-webkit-user-select:none}
input,textarea,select,.code-area,[contenteditable="true"]{user-select:text;-webkit-user-select:text}
input,textarea,[contenteditable="true"],.code-area,.terminal-input{caret-color:var(--accent);user-select:text;-webkit-user-select:text;-webkit-text-fill-color:currentColor}input:focus,textarea:focus,[contenteditable="true"]:focus,.code-area:focus,.terminal-input:focus{caret-color:var(--accent)}body.is-dark input,body.is-dark textarea,body.is-dark [contenteditable="true"],body.is-dark .code-area,body.is-dark .terminal-input{caret-color:var(--accent-2)}
body.is-dark{background:#070b16;color:#e5edf8}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer;background-image:none}
textarea{resize:vertical}
h1,h2,h3,p{margin:0}
a{color:inherit;text-decoration:inherit}
.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-4{bottom:1rem}.left-4{left:1rem}.top-4{top:1rem}.z-10{z-index:10}
.mx-auto{margin-left:auto;margin-right:auto}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}
.block{display:block}.inline-flex{display:inline-flex}.flex{display:flex}.grid{display:grid}.hidden{display:none}
.h-7{height:1.75rem}.h-9{height:2.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-72{height:18rem}.h-full{height:100%}.h-screen{height:100vh}
.min-h-72{min-height:18rem}.min-h-screen{min-height:100vh}.w-7{width:1.75rem}.w-9{width:2.25rem}.w-80{width:20rem}.w-full{width:100%}
.max-w-xl{max-width:36rem}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.cursor-move{cursor:move}
.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.place-items-center{place-items:center}
.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.break-all{word-break:break-all}.rounded{border-radius:.25rem}
.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-line{border-color:#d9deea}.border-mint{border-color:#2fbf9b}.border-ember{border-color:#f26b4f}
.bg-white{background-color:#fff}.bg-panel{background-color:#f7f8fb}.bg-ink{background-color:#172033}.bg-mint{background-color:#2fbf9b}.bg-ember{background-color:#f26b4f}.bg-slate-100{background-color:#f1f5f9}.bg-emerald-50{background-color:#ecfdf5}.bg-red-50{background-color:#fef2f2}
.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}
.text-left{text-align:left}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}
.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-4{line-height:1rem}.tracking-wide{letter-spacing:.025em}
.text-white{color:#fff}.text-ink{color:#172033}.text-mint{color:#2fbf9b}.text-slate-500{color:#64748b}.tabular-nums{font-variant-numeric:tabular-nums}
.shadow-window{box-shadow:0 22px 70px rgba(12,21,38,.22)}.outline-none{outline:2px solid transparent;outline-offset:2px}.focus\:border-mint:focus{border-color:#2fbf9b}
.desktop-wallpaper{padding:0;background:radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--accent) 72%,transparent),transparent 30%),radial-gradient(circle at 76% 12%,color-mix(in srgb,var(--accent-2) 62%,transparent),transparent 28%),radial-gradient(circle at 56% 78%,rgba(91,125,255,.48),transparent 34%),linear-gradient(135deg,var(--wallpaper-a) 0%,var(--wallpaper-b) 42%,var(--wallpaper-c) 100%)}
.desktop-wallpaper::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.26),rgba(255,255,255,0) 38%),radial-gradient(circle at 50% 50%,rgba(255,255,255,.16),transparent 48%);pointer-events:none}
.status-bar,.taskbar,.glass-panel,.os-window,.mobile-nav,.mobile-launcher-handle{border:1px solid rgba(255,255,255,.36);background:rgba(255,255,255,.64);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}
body.is-dark .status-bar,body.is-dark .taskbar,body.is-dark .glass-panel,body.is-dark .os-window,body.is-dark .mobile-nav,body.is-dark .mobile-launcher-handle{border-color:rgba(148,163,184,.28);background:rgba(15,23,42,.72)}
.status-bar{height:1.75rem;box-shadow:0 10px 35px rgba(15,23,42,.14);z-index:40}
.system-text{font-size:.72rem;line-height:1rem;color:#334155;white-space:nowrap}
.notification-button{position:relative;display:grid;place-items:center;width:1.55rem;height:1.35rem;border-radius:.4rem;background:transparent;color:#334155;transition:background .14s ease,transform .14s ease}.notification-button:hover,.notification-button.is-active{background:rgba(255,255,255,.58)}.notification-icon{position:relative;width:.9rem;height:.9rem;border:.12rem solid currentColor;border-radius:.45rem .45rem .25rem .25rem}.notification-icon::before{content:"";position:absolute;left:50%;top:-.22rem;width:.36rem;height:.22rem;border:.1rem solid currentColor;border-bottom:0;border-radius:.3rem .3rem 0 0;transform:translateX(-50%)}.notification-icon::after{content:"";position:absolute;left:50%;bottom:-.28rem;width:.3rem;height:.12rem;border-radius:999px;background:currentColor;transform:translateX(-50%)}.notification-badge{position:absolute;right:-.18rem;top:-.28rem;display:grid;place-items:center;min-width:.9rem;height:.9rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.58rem;font-weight:800;line-height:1}.notification-badge.hidden{display:none}.notification-center{position:absolute;right:.75rem;top:.65rem;z-index:110;width:min(24rem,calc(100vw - 1.5rem));max-height:min(32rem,calc(100dvh - 2rem));overflow:hidden;border-radius:.85rem;animation:scaleIn .14s ease both}.notification-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(255,255,255,.36);padding:.8rem}.notification-list{display:grid;gap:.65rem;max-height:26rem;overflow:auto;padding:.8rem}.notification-card{position:relative;display:grid;gap:.65rem;border:1px solid rgba(255,255,255,.42);border-radius:.7rem;background:rgba(255,255,255,.54);padding:.8rem 2.25rem .8rem .8rem}.notification-card strong{display:block;font-size:.88rem}.notification-card small{display:block;margin-top:.12rem;color:#64748b;font-size:.68rem}.notification-card p{margin-top:.18rem;color:#64748b;font-size:.78rem;line-height:1.35}.notification-actions{display:flex;flex-wrap:wrap;gap:.45rem}.notification-dismiss{position:absolute;right:.55rem;top:.55rem;display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:.35rem;background:rgba(15,23,42,.08);font-size:.8rem;font-weight:800}
body.is-dark .system-text,body.is-dark .menu-app-name,body.is-dark .menu-button,body.is-dark .text-ink{color:#e5edf8}
body.is-dark .text-slate-500{color:#94a3b8}
.menu-zone{min-width:0;flex:1 1 auto;overflow:hidden}
.menu-app-name{height:1.25rem;border-radius:.35rem;padding:0 .45rem;font-size:.72rem;font-weight:700;line-height:1rem;color:#172033;background:rgba(255,255,255,.32);white-space:nowrap;cursor:pointer;transition:background .14s ease,color .14s ease,box-shadow .14s ease}
.menu-app-name:hover,.menu-app-name:focus-visible{background:rgba(255,255,255,.58);box-shadow:none;outline:none}
.menu-bar{display:flex;align-items:center;gap:.15rem;min-width:0;overflow:hidden}
.menu-button{height:1.25rem;border-radius:.35rem;padding:0 .45rem;font-size:.72rem;line-height:1rem;color:#172033;background:transparent;white-space:nowrap;transition:background .14s ease,color .14s ease}
.menu-button:hover{background:rgba(255,255,255,.58)}
.context-menu{position:fixed;z-index:120;min-width:12rem;border:1px solid rgba(255,255,255,.48);border-radius:.7rem;background:rgba(255,255,255,.78);box-shadow:0 18px 55px rgba(15,23,42,.22);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);padding:.35rem;animation:scaleIn .12s ease both}
.context-menu-item{display:flex;width:100%;align-items:center;justify-content:space-between;border-radius:.45rem;padding:.48rem .65rem;text-align:left;font-size:.82rem;background:transparent;color:#172033}
.context-menu-check{position:relative;display:inline-grid;place-items:center;width:1rem;height:1rem;margin-right:.45rem;flex:0 0 auto}.context-menu-check-icon{position:relative;width:.82rem;height:.82rem;border-radius:.28rem;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.context-menu-check-icon::before{content:"";position:absolute;left:.22rem;top:.17rem;width:.32rem;height:.56rem;border-right:.13rem solid currentColor;border-bottom:.13rem solid currentColor;transform:rotate(45deg)}.context-menu-label{min-width:0;flex:1 1 auto;text-align:left}.context-menu-submenu-arrow{width:.45rem;height:.45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);opacity:.72;flex:0 0 auto}.context-submenu{position:fixed;z-index:101}
.context-menu-item:hover{background:color-mix(in srgb,var(--accent) 16%,rgba(255,255,255,.72))}
.context-menu-item:disabled{cursor:default;opacity:.48}
.context-menu-item:disabled:hover{background:transparent}
.context-menu-separator{height:1px;margin:.3rem .25rem;background:rgba(100,116,139,.22)}
.system-dialog{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1rem;background:rgba(12,21,38,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.system-dialog.hidden{display:none}.system-dialog-panel{width:min(24rem,100%);border-radius:.85rem;padding:1rem}.system-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}
/** [CODEX - 2026-06-19 02:05:00]
 * Open-with picker cards use the OS dialog surface while keeping app icons and defaults scannable.
 */
.open-with-dialog{display:grid;gap:.75rem}.open-with-apps{display:grid;gap:.45rem;max-height:18rem;overflow:auto}.open-with-app{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;width:100%;border:1px solid rgba(148,163,184,.22);border-radius:.65rem;background:rgba(255,255,255,.5);padding:.65rem;text-align:left;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.open-with-app strong,.open-with-app small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.open-with-app small{color:#64748b;font-size:.72rem}.open-with-app:hover,.open-with-app.is-selected{border-color:color-mix(in srgb,var(--accent) 48%,rgba(148,163,184,.22));background:color-mix(in srgb,var(--accent) 14%,rgba(255,255,255,.68));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}
/** [CODEX - 2026-06-19 02:05:00]
 * Dark mode keeps Open-with choices readable against the modal glass surface.
 */
body.is-dark .open-with-app{border-color:rgba(148,163,184,.22);background:rgba(15,23,42,.54)}body.is-dark .open-with-app small{color:#94a3b8}body.is-dark .open-with-app:hover,body.is-dark .open-with-app.is-selected{border-color:color-mix(in srgb,var(--accent) 52%,rgba(148,163,184,.24));background:color-mix(in srgb,var(--accent) 18%,rgba(30,41,59,.76))}
.taskbar{height:3.25rem;box-shadow:0 -14px 42px rgba(15,23,42,.16);z-index:40;overflow:visible}
.desktop-icons{position:absolute;inset:0;z-index:2;display:block;pointer-events:none}#windowLayer{z-index:5;pointer-events:none}#windowLayer .os-window{pointer-events:auto}#windowLayer .os-window:not(.is-opening):not(.is-closing):not(.is-minimized):not(.is-mobile-hidden){opacity:1}#windowLayer .os-window.is-minimized,#windowLayer .os-window.is-mobile-hidden{visibility:hidden;pointer-events:none;z-index:0!important}.snap-preview{position:absolute;z-index:9990;border:2px solid color-mix(in srgb,var(--accent) 68%,#fff);border-radius:.65rem;background:color-mix(in srgb,var(--accent) 20%,rgba(255,255,255,.28));box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 18px 46px color-mix(in srgb,var(--accent) 20%,transparent);pointer-events:none;transition:left .08s ease,top .08s ease,width .08s ease,height .08s ease,opacity .08s ease}.snap-preview.hidden{display:none}.snap-assist{position:absolute;z-index:9991;display:grid;place-items:center;padding:1rem;pointer-events:auto}.snap-assist.hidden{display:none}.snap-assist-panel{width:min(100%,32rem);max-height:min(100%,28rem);overflow:hidden;border:1px solid rgba(255,255,255,.42);border-radius:.85rem;background:rgba(255,255,255,.74);box-shadow:0 18px 55px rgba(15,23,42,.22);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%);padding:.75rem}.snap-assist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.65rem;max-height:24rem;overflow:auto}.snap-assist-card{width:100%}body.is-dark .snap-preview{border-color:color-mix(in srgb,var(--accent) 62%,#e5edf8);background:color-mix(in srgb,var(--accent) 22%,rgba(15,23,42,.4));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 18px 46px rgba(2,6,23,.32)}body.is-dark .snap-assist-panel{border-color:rgba(148,163,184,.28);background:rgba(15,23,42,.84);box-shadow:0 18px 55px rgba(2,6,23,.45)}.desktop-icon{position:absolute;display:grid;justify-items:center;gap:.35rem;width:7rem;border-radius:.65rem;background:transparent;padding:.55rem .35rem;color:#fff;text-align:center;text-shadow:0 1px 8px rgba(15,23,42,.62);pointer-events:auto;touch-action:none}.desktop-icon.is-dragging{z-index:12;cursor:grabbing;opacity:.92;transform:scale(.98)}.desktop-icon:hover,.desktop-icon:focus-visible,.desktop-icon.is-selected{background:rgba(255,255,255,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.desktop-selection-rect{position:absolute;z-index:4;border:1px solid color-mix(in srgb,var(--accent) 58%,rgba(255,255,255,.72));border-radius:.4rem;background:color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.24));box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 .75rem 1.8rem color-mix(in srgb,var(--accent) 18%,transparent);pointer-events:none}body.is-dark .desktop-selection-rect{border-color:color-mix(in srgb,var(--accent) 54%,rgba(148,163,184,.38));background:color-mix(in srgb,var(--accent) 22%,rgba(15,23,42,.32));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 .75rem 1.8rem rgba(2,6,23,.28)}.desktop-icon strong,.desktop-icon small{display:block;overflow:hidden;max-width:6.4rem;text-overflow:ellipsis;white-space:nowrap}.desktop-icon strong{font-size:.76rem}.desktop-icon small{font-size:.64rem;opacity:.82}.desktop-os-icon{width:2.5rem;height:2.5rem;border-radius:.55rem;background:color-mix(in srgb,var(--accent) 82%,#111827);color:#fff;box-shadow:0 12px 28px rgba(15,23,42,.28)}.linkos-launcher-icon{position:relative;display:block;width:1.68rem;height:1.68rem;border-radius:0}.linkos-launcher-icon::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M102 271C102 248.356 120.356 230 143 230C165.644 230 184 248.356 184 271V352H102V271Z M198 188C198 162.595 218.595 142 244 142C269.405 142 290 162.595 290 188V352H198V188Z M304 223C304 201.461 321.461 184 343 184C364.539 184 382 201.461 382 223V352H304V223Z M396 287C396 269.879 409.879 256 427 256C444.121 256 458 269.879 458 287V352H396V287Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M102 271C102 248.356 120.356 230 143 230C165.644 230 184 248.356 184 271V352H102V271Z M198 188C198 162.595 218.595 142 244 142C269.405 142 290 162.595 290 188V352H198V188Z M304 223C304 201.461 321.461 184 343 184C364.539 184 382 201.461 382 223V352H304V223Z M396 287C396 269.879 409.879 256 427 256C444.121 256 458 269.879 458 287V352H396V287Z'/%3E%3C/svg%3E") center/contain no-repeat}.linkos-launcher-icon span{display:none}.desktop-install-icon{position:relative;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.65rem;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 12px 28px rgba(15,23,42,.28)}.desktop-install-icon span{width:1.68rem;height:1.68rem;background:rgba(255,255,255,.94);-webkit-mask:url("../../icons/cloudesk-mark-monochrome.svg") center/contain no-repeat;mask:url("../../icons/cloudesk-mark-monochrome.svg") center/contain no-repeat}.desktop-install-icon::before{content:"";position:absolute;right:.54rem;top:.48rem;width:.62rem;height:.62rem;border-right:.18rem solid #fff;border-bottom:.18rem solid #fff;filter:drop-shadow(0 .08rem .12rem rgba(15,23,42,.24));transform:rotate(45deg)}.desktop-install-icon::after{content:"";position:absolute;right:.42rem;top:1.35rem;width:.88rem;height:.18rem;border-radius:999px;background:#fff;box-shadow:0 .08rem .12rem rgba(15,23,42,.18)}
.taskbar-start{display:inline-flex;align-items:center;gap:.45rem}
.taskbar-start{position:relative;width:2.5rem;min-width:2.5rem;justify-content:center;padding-left:0;padding-right:0;background:color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.72));box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 24%,transparent),inset 0 1px 0 rgba(255,255,255,.55)}.taskbar-start-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.os-logo-icon{display:grid;grid-template-columns:repeat(2,.38rem);grid-template-rows:repeat(2,.38rem);gap:.12rem;width:1rem;height:1rem;padding:.08rem;border-radius:.25rem;background:#172033;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.os-logo-icon span{display:block;border-radius:.05rem;background:var(--accent)}.os-logo-icon span:nth-child(4){background:var(--accent-2)}
.taskbar-apps{min-width:0;overflow:visible;padding:.2rem 0}
.taskbar[data-alignment="open-center"] .taskbar-apps,.taskbar[data-alignment="all-center"] .taskbar-apps{justify-content:center}.taskbar[data-alignment="all-center"]{justify-content:center}.taskbar[data-alignment="all-center"] .taskbar-apps{flex:0 1 auto}.taskbar[data-alignment="start"] .taskbar-apps{justify-content:flex-start}.taskbar-group[draggable="true"]{cursor:grab}.taskbar-group[draggable="true"]:active{cursor:grabbing}.taskbar-group.is-dragging{opacity:.55}.taskbar-group.is-drop-before::before,.taskbar-group.is-drop-after::after{content:"";position:absolute;top:.2rem;bottom:.2rem;width:.18rem;border-radius:999px;background:var(--accent);box-shadow:0 0 14px var(--accent);z-index:2}.taskbar-group.is-drop-before::before{left:-.35rem}.taskbar-group.is-drop-after::after{right:-.35rem}
.taskbar-group{position:relative;display:inline-flex}.taskbar-app{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-width:2.25rem;max-width:12rem;height:2.25rem;padding:0 .45rem;font-size:.82rem;white-space:nowrap;transition:transform .18s ease,background .18s ease,opacity .18s ease,box-shadow .18s ease}
.taskbar-app.is-active{background:rgba(255,255,255,.88);box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 28%,transparent)}
.taskbar-app.is-active::after{content:"";position:absolute;left:.45rem;right:.45rem;bottom:-.32rem;height:.22rem;border-radius:999px;background:var(--accent);box-shadow:0 0 14px var(--accent)}
.taskbar-app.is-minimized{opacity:.62}
.taskbar-app.icon-only .taskbar-label{display:none}
.taskbar-app.has-label{padding:0 .65rem;justify-content:flex-start}
.taskbar-count{display:grid;place-items:center;min-width:1rem;height:1rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.62rem;font-weight:800}.taskbar-previews{position:absolute;left:50%;bottom:calc(100% + .55rem);display:flex;gap:.5rem;max-width:min(42rem,calc(100vw - 2rem));padding:.5rem;border:1px solid rgba(255,255,255,.42);border-radius:.75rem;background:rgba(255,255,255,.78);box-shadow:0 18px 48px rgba(15,23,42,.22);backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%);opacity:0;pointer-events:none;transform:translate(-50%,.35rem);transition:opacity .14s ease,transform .14s ease;z-index:126}.taskbar-group:hover .taskbar-previews,.taskbar-group:focus-within .taskbar-previews{opacity:1;pointer-events:auto;transform:translate(-50%,0)}.taskbar-preview{position:relative;display:grid;grid-template-columns:auto minmax(5rem,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:.2rem .5rem;width:12rem;border:1px solid rgba(148,163,184,.22);border-radius:.55rem;background:rgba(255,255,255,.62);padding:.55rem;text-align:left}.taskbar-preview.is-active{outline:2px solid var(--accent)}.preview-thumb{grid-row:1 / 3}.preview-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:700}.preview-state{font-size:.68rem;color:#64748b}.preview-close{display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:.35rem;background:rgba(15,23,42,.08);font-size:.8rem;font-weight:800}.preview-close:hover{background:rgba(239,68,68,.18);color:#991b1b}body.is-dark .taskbar-previews{border-color:rgba(148,163,184,.28);background:rgba(15,23,42,.86)}body.is-dark .taskbar-preview{border-color:rgba(148,163,184,.22);background:rgba(30,41,59,.72)}body.is-dark .preview-state{color:#94a3b8}
.mini-app-icon{display:grid;place-items:center;width:1.65rem;height:1.65rem;aspect-ratio:1 / 1;border-radius:.28rem;color:#fff;font-weight:700;font-size:.66rem;flex:0 0 auto}
.window-title-app-icon{display:grid;place-items:center;overflow:hidden;flex:0 0 auto;width:1.05rem;height:1.05rem;border-radius:.28rem;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 4px 10px rgba(15,23,42,.12)}
.mini-app-icon svg,.app-icon svg,.window-title-app-icon svg{width:68%;height:68%;fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round}
.glass-panel{border-radius:.75rem;overflow:hidden}
.glass-divider{border-bottom:1px solid rgba(255,255,255,.38)}
.launcher-panel{position:absolute;left:1rem;bottom:1rem;top:auto;width:min(32rem,calc(100vw - 2rem));z-index:70;animation:drawerIn .2s ease both}
.launcher-head{display:grid;gap:.75rem}.launcher-title-row,.launcher-controls{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.launcher-title-row strong{font-size:1.05rem}.launcher-power{display:grid;place-items:center;width:2.2rem;height:2.2rem;padding:0;border-radius:.7rem}.launcher-power span{position:relative;width:1rem;height:1rem;border:.13rem solid currentColor;border-top-color:transparent;border-radius:50%}.launcher-power span::before{content:"";position:absolute;left:50%;top:-.32rem;width:.13rem;height:.62rem;border-radius:999px;background:currentColor;transform:translateX(-50%)}.launcher-search{position:relative;display:block}.launcher-search .field-control{padding-left:2.25rem}.launcher-search-icon{position:absolute;left:.78rem;top:50%;z-index:1;width:.78rem;height:.78rem;border:.12rem solid currentColor;border-radius:50%;color:#64748b;transform:translateY(-56%);pointer-events:none}.launcher-search-icon::after{content:"";position:absolute;right:-.28rem;bottom:-.2rem;width:.42rem;height:.12rem;border-radius:999px;background:currentColor;transform:rotate(45deg)}.launcher-controls{justify-content:flex-start;flex-wrap:wrap}.launcher-controls .control-button.is-active{background:color-mix(in srgb,var(--accent) 22%,rgba(255,255,255,.72));box-shadow:inset 0 -.18rem 0 var(--accent)}.launcher-grid{display:grid;gap:.9rem;max-height:min(36rem,calc(100dvh - 10rem));overflow:auto}.launcher-section{display:grid;gap:.55rem}.launcher-section h3{color:#64748b;font-size:.72rem;font-weight:800;text-transform:uppercase}.launcher-app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.8rem,1fr));gap:.6rem}.launcher-item{position:relative;display:grid;justify-items:center;gap:.45rem;min-height:6.2rem;padding:.75rem .55rem;border-color:transparent;background:transparent;box-shadow:none;text-align:center}.launcher-item:hover,.launcher-item:focus-visible{border-color:transparent;background:color-mix(in srgb,var(--accent) 10%,rgba(255,255,255,.42));box-shadow:none}.launcher-section.is-pinned .launcher-app-grid{grid-template-columns:repeat(auto-fill,minmax(5.1rem,1fr))}.launcher-item.is-pinned{background:color-mix(in srgb,var(--accent) 16%,rgba(255,255,255,.68))}.launcher-item.is-pinned::after{content:"";position:absolute;top:.55rem;right:.55rem;width:.42rem;height:.42rem;border-radius:999px;background:var(--accent);box-shadow:0 0 0 .16rem color-mix(in srgb,var(--accent) 18%,transparent)}.launcher-search-grid{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr))}.launcher-search-item{min-height:5.7rem}.launcher-item span:last-child{display:grid;gap:.1rem;min-width:0}.launcher-item strong,.launcher-item small{overflow:hidden;max-width:5.6rem;text-overflow:ellipsis;white-space:nowrap}.launcher-item.is-dragging{opacity:.52}.launcher-item.is-drop-before::before,.launcher-item.is-drop-after::after{content:"";position:absolute;top:.45rem;bottom:.45rem;width:.18rem;border-radius:999px;background:var(--accent);box-shadow:0 0 14px var(--accent)}.launcher-item.is-drop-before::before{left:-.32rem}.launcher-item.is-drop-after::after{right:-.32rem}body.is-dark .launcher-section h3,body.is-dark .launcher-search-icon{color:#94a3b8}body.is-dark .launcher-item{border-color:transparent;background:transparent;box-shadow:none}body.is-dark .launcher-item:hover,body.is-dark .launcher-item:focus-visible{border-color:transparent;background:color-mix(in srgb,var(--accent) 16%,rgba(15,23,42,.48));box-shadow:none}body.is-dark .launcher-controls .control-button.is-active{background:color-mix(in srgb,var(--accent) 28%,rgba(15,23,42,.72))}
.switcher{position:absolute;inset:0;z-index:125;display:grid;place-items:center;padding:1rem;background:rgba(12,21,38,.18)}
.switcher.hidden{display:none}
.switcher-panel{width:min(42rem,100%);max-height:min(34rem,calc(100dvh - 3rem));overflow:hidden;animation:scaleIn .18s ease both}
.switcher-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;overflow:auto;max-height:26rem}
.switcher-card{display:grid;grid-template-columns:8rem minmax(0,1fr);align-items:center;gap:.75rem;border:1px solid rgba(255,255,255,.42);border-radius:.75rem;background:rgba(255,255,255,.52);padding:.8rem;text-align:left;transition:transform .08s ease,background .08s ease,border-color .08s ease,box-shadow .08s ease}
.switcher-card small{display:block;color:#64748b;font-size:.72rem}.switcher-card.is-selected{background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 34%,transparent),0 18px 42px rgba(15,23,42,.26);transform:translateY(-2px);filter:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body.is-dark .switcher-card.is-selected{background:#0f172a}
.switcher-thumb{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.45rem;height:4.8rem;border:1px solid rgba(148,163,184,.22);border-radius:.45rem;background:rgba(255,255,255,.55);padding:.45rem;overflow:hidden;filter:none}.switcher-card.is-selected .switcher-thumb{background:#fff;border-color:var(--accent);filter:none}.switcher-thumb-lines{display:grid;gap:.18rem;min-width:0}.switcher-thumb-lines i{display:block;height:.36rem;border-radius:999px;background:rgba(100,116,139,.22);font-size:0}.switcher-card.is-selected .switcher-thumb-lines i{background:color-mix(in srgb,var(--accent) 42%,rgba(100,116,139,.22))}.switcher-thumb-lines i:nth-child(2n){width:76%}.switcher-thumb-lines i:nth-child(3n){width:52%}
body.is-dark .switcher-card.is-selected .switcher-thumb{background:#1e293b}
.os-window{width:720px;height:520px;max-width:calc(100% - 1rem);max-height:calc(100% - 1rem);border-radius:.75rem;box-shadow:0 24px 90px rgba(7,14,28,.28);opacity:1;transform:scale(.985);transition:opacity .22s cubic-bezier(.2,.8,.2,1),transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,width .18s ease,height .18s ease,left .18s ease,top .18s ease}
.os-window.is-active{opacity:1;transform:scale(1);box-shadow:0 28px 100px rgba(7,14,28,.34)}
.os-window.is-dragging,.os-window.is-resizing{transition:opacity .22s cubic-bezier(.2,.8,.2,1),transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease}
.os-window.is-opening{opacity:0;transform:translateY(.75rem) scale(.96)}
.os-window.is-closing{opacity:0;transform:scale(.96)}
.os-window.is-minimized{pointer-events:none;opacity:0;transform:translateY(1rem) scale(.96)}
.os-window.is-maximized{max-width:none;max-height:none;border-radius:0;transform:scale(1)}
.window-handle{border-bottom:1px solid rgba(255,255,255,.38);background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.28))}
.window-controls{flex:0 0 auto;gap:.35rem}
.frame-button{display:grid;place-items:center;width:1.85rem;height:1.55rem;border-radius:.42rem;border:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.48);box-shadow:inset 0 1px 0 rgba(255,255,255,.72);transition:transform .14s ease,background .14s ease,border-color .14s ease}
.frame-button:hover{background:rgba(255,255,255,.76);border-color:color-mix(in srgb,var(--accent) 36%,rgba(15,23,42,.12));transform:translateY(-1px)}
.frame-button:active{transform:translateY(0)}
.frame-button span{display:block;position:relative;width:.7rem;height:.7rem;color:#172033}
.window-minimize span::before{content:"";position:absolute;left:.05rem;right:.05rem;bottom:.12rem;height:.1rem;background:currentColor;border-radius:999px}
.window-maximize span::before{content:"";position:absolute;inset:.08rem;border:.1rem solid currentColor;border-radius:.08rem}
.window-close span::before,.window-close span::after{content:"";position:absolute;left:50%;top:.05rem;width:.1rem;height:.62rem;background:currentColor;border-radius:999px}.window-close span::before{transform:translateX(-50%) rotate(45deg)}.window-close span::after{transform:translateX(-50%) rotate(-45deg)}
.window-content{background:rgba(255,255,255,.38)}
body.is-dark .window-content{background:rgba(15,23,42,.42)}
.resize-handle{position:absolute;z-index:2;background:transparent}
.resize-handle-n{left:.75rem;right:.75rem;top:0;height:.45rem;cursor:ns-resize}
.resize-handle-e{right:0;top:.75rem;bottom:.75rem;width:.45rem;cursor:ew-resize}
.resize-handle-s{left:.75rem;right:.75rem;bottom:0;height:.45rem;cursor:ns-resize}
.resize-handle-w{left:0;top:.75rem;bottom:.75rem;width:.45rem;cursor:ew-resize}
.resize-handle-ne{right:0;top:0;width:.9rem;height:.9rem;cursor:nesw-resize}
.resize-handle-se{right:0;bottom:0;width:.9rem;height:.9rem;cursor:nwse-resize}
.resize-handle-sw{left:0;bottom:0;width:.9rem;height:.9rem;cursor:nesw-resize}
.resize-handle-nw{left:0;top:0;width:.9rem;height:.9rem;cursor:nwse-resize}
.control-button,.field-control,.launcher-item,.content-row{border:1px solid rgba(255,255,255,.48);border-radius:.55rem;background:rgba(255,255,255,.56);box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
body.is-dark .control-button,body.is-dark .field-control,body.is-dark .launcher-item,body.is-dark .content-row{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.58);color:#e5edf8;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.control-button,.launcher-item,.dock-icon,.mobile-nav-button{transition:transform .16s ease,background .16s ease,opacity .16s ease}
.control-button:hover,.launcher-item:hover,.dock-icon:hover,.mobile-nav-button:hover{transform:translateY(-1px)}
.field-control{background:rgba(255,255,255,.74)}
.primary-button{border:0;border-radius:.55rem;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 28%,transparent)}
.launcher-item,.content-row{transition:transform .16s ease,background .16s ease}
.app-icon,.dock-icon{width:2.5rem;height:2.5rem;aspect-ratio:1 / 1;border-radius:.32rem;font-weight:700;letter-spacing:.01em;box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 10px 24px rgba(15,23,42,.18);transition:transform .16s ease}
.store-shell{display:grid;gap:1rem}.store-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid rgba(255,255,255,.48);border-radius:.85rem;background:linear-gradient(135deg,rgba(255,255,255,.74),rgba(255,255,255,.36));padding:1rem}.store-title{font-size:1.15rem;line-height:1.35;font-weight:700}.store-featured{display:grid;gap:.35rem}.store-browser{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:1rem}.store-nav{display:grid;align-content:start;gap:.45rem}.store-category-strip{display:flex;gap:.5rem;overflow:auto;padding:.1rem .05rem .35rem;scrollbar-width:thin}.store-category-tab{flex:0 0 auto;border:1px solid rgba(255,255,255,.42);border-radius:.55rem;background:rgba(255,255,255,.42);padding:.65rem .75rem;text-align:left;font-weight:700}.store-category-tab.is-active{background:rgba(255,255,255,.82);box-shadow:inset 0 -.22rem 0 var(--accent)}.store-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem}.store-card{display:grid;grid-template-columns:auto 1fr;gap:.75rem;border:1px solid rgba(255,255,255,.48);border-radius:.85rem;background:rgba(255,255,255,.58);padding:1rem}.store-card button{grid-column:auto}.store-detail{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;border:1px solid rgba(255,255,255,.48);border-radius:.85rem;background:rgba(255,255,255,.58);padding:1rem}.app-package-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.5rem}.app-package-meta .content-row{display:grid;gap:.2rem}.store-categories{display:grid;gap:1.15rem}.store-category{display:grid;gap:.6rem;scroll-margin-top:.75rem}.store-category-list{display:grid;gap:.6rem}.store-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem}.store-info{min-width:0}.store-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.5rem}.store-row .store-actions{grid-column:auto;justify-content:flex-end}
.settings-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.settings-app,.file-manager{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:1rem;height:100%}.settings-app{min-height:0;overflow:hidden}.settings-nav{position:sticky;top:0;align-self:stretch;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:.15rem;scrollbar-width:thin}.settings-pane{min-height:0}.settings-nav,.file-sidebar{display:grid;align-content:start;gap:.45rem}.settings-nav-item,.file-place{border:1px solid rgba(255,255,255,.42);border-radius:.55rem;background:rgba(255,255,255,.42);padding:.65rem .75rem;text-align:left;font-weight:600}.settings-nav-item.is-active,.file-place.is-active{background:rgba(255,255,255,.82);box-shadow:inset .22rem 0 0 var(--accent)}.settings-pane,.file-main{min-width:0;overflow:auto}.settings-title{font-size:1.1rem;font-weight:700;margin-bottom:1rem}.settings-section{display:grid;gap:.65rem;margin-bottom:1rem}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(2.6rem,1fr));gap:.65rem;max-width:22rem}.theme-swatch{display:grid;place-items:center;height:2.6rem;border-radius:.7rem;border:2px solid rgba(255,255,255,.55);background:linear-gradient(135deg,var(--swatch-a),var(--swatch-b));box-shadow:0 10px 24px rgba(15,23,42,.14);transition:transform .16s ease,border-color .16s ease}.theme-swatch:hover{transform:translateY(-1px)}.theme-swatch.is-active{border-color:#fff;outline:2px solid var(--accent)}.theme-swatch span{width:.75rem;height:.75rem;border-radius:50%;background:rgba(255,255,255,.86)}.settings-switch-row,.settings-select-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;border:1px solid rgba(255,255,255,.48);border-radius:.75rem;background:rgba(255,255,255,.58);padding:1rem;text-align:left}.settings-switch-row small,.settings-select-row small{display:block;color:#64748b;font-size:.78rem;margin-top:.2rem}.settings-select-row select{min-width:9rem}.toggle-switch{position:relative;width:3.2rem;height:1.75rem;border-radius:999px;background:rgba(100,116,139,.35);transition:background .22s ease,box-shadow .22s ease;flex:0 0 auto}.toggle-switch span{position:absolute;top:.2rem;left:.2rem;width:1.35rem;height:1.35rem;border-radius:50%;background:#fff;box-shadow:0 3px 10px rgba(15,23,42,.25);transition:transform .22s cubic-bezier(.2,.8,.2,1)}.toggle-switch.is-on{background:var(--accent);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--accent) 18%,transparent)}.toggle-switch.is-on span{transform:translateX(1.45rem)}.settings-app-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem}
.toggle-switch{overflow:hidden;transition:background .24s ease,box-shadow .24s ease,filter .24s ease}.toggle-switch::before{content:"";position:absolute;inset:.18rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 34%,transparent);opacity:0;transform:translateX(-45%) scale(.72);pointer-events:none}.toggle-switch span{will-change:transform}.toggle-switch.is-on{animation:toggleTrackOn .28s ease both}.toggle-switch.is-on::before{animation:togglePulseOn .34s ease both}.toggle-switch.is-on span{animation:toggleKnobOn .28s cubic-bezier(.2,.9,.2,1.1) both}.toggle-switch:not(.is-on) span{animation:toggleKnobOff .22s cubic-bezier(.3,.7,.2,1) both}@keyframes toggleKnobOn{0%{transform:translateX(0) scale(1)}62%{transform:translateX(1.55rem) scale(.94)}100%{transform:translateX(1.45rem) scale(1)}}@keyframes toggleKnobOff{0%{transform:translateX(1.45rem) scale(1)}100%{transform:translateX(0) scale(1)}}@keyframes togglePulseOn{0%{opacity:0;transform:translateX(-45%) scale(.72)}48%{opacity:.95;transform:translateX(18%) scale(1.04)}100%{opacity:0;transform:translateX(34%) scale(1.22)}}@keyframes toggleTrackOn{0%{filter:saturate(100%)}55%{filter:saturate(132%) brightness(1.05)}100%{filter:saturate(100%)}}
.file-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.file-toolbar-actions{display:flex;align-items:center;gap:.5rem;min-width:min(22rem,100%)}.file-toolbar-actions .field-control{min-width:0;flex:1}.file-setting-row{margin-bottom:.75rem;padding:.65rem .75rem}.file-table{border:1px solid rgba(255,255,255,.46);border-radius:.65rem;overflow:hidden;background:rgba(255,255,255,.34)}.file-table-head,.file-row{display:grid;grid-template-columns:minmax(12rem,1fr) 6rem 12rem;align-items:center}.file-table-head{border-bottom:1px solid rgba(148,163,184,.28);background:rgba(255,255,255,.42)}.file-heading{display:flex;align-items:center;justify-content:space-between;gap:.4rem;min-width:0;height:2rem;padding:0 .75rem;border-right:1px solid rgba(148,163,184,.24);background:transparent;text-align:left;font-size:.72rem;font-weight:700;color:#475569}.file-heading:last-child{border-right:0}.file-heading.is-active{color:var(--accent)}.file-table-body{display:grid}.file-row{width:100%;border:0;border-bottom:1px solid rgba(148,163,184,.18);border-radius:0;background:transparent;padding:0;text-align:left}.file-row:last-child{border-bottom:0}.file-row:hover{background:rgba(255,255,255,.46)}.file-name-cell{display:flex;align-items:center;gap:.75rem;min-width:0;padding:.55rem .75rem}.file-name-cell strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-kind{display:grid;place-items:center;width:2.2rem;height:2rem;border-radius:.3rem;background:linear-gradient(135deg,#6d5dfc,#2fbf9b);color:#fff;font-size:.64rem;font-weight:800;letter-spacing:.02em;flex:0 0 auto}.file-size,.file-date{padding:.55rem .75rem;white-space:nowrap}.empty-state{border:1px dashed rgba(255,255,255,.55);border-radius:.75rem;padding:1.5rem;text-align:center;color:#64748b;background:rgba(255,255,255,.32)}
.window-tabs{display:flex;gap:.35rem;margin-bottom:.5rem;overflow-x:auto;padding-bottom:.15rem;scrollbar-width:thin}.window-tab{display:inline-flex;align-items:center;gap:.45rem;max-width:12rem;border:1px solid rgba(255,255,255,.42);border-radius:.55rem .55rem .25rem .25rem;background:rgba(255,255,255,.38);padding:.45rem .65rem;color:#172033;font-size:.78rem;font-weight:700;white-space:nowrap}.window-tab span:first-child{overflow:hidden;text-overflow:ellipsis}.window-tab.is-active{background:rgba(255,255,255,.82);box-shadow:inset 0 -.18rem 0 var(--accent)}.window-tab-close{display:grid;place-items:center;width:1rem;height:1rem;border-radius:.25rem;background:rgba(15,23,42,.08);font-size:.7rem;line-height:1}.file-ribbon{display:grid;gap:.75rem;border:1px solid rgba(255,255,255,.46);border-radius:.75rem;background:rgba(255,255,255,.46);margin-bottom:.85rem;padding:.75rem}.file-ribbon-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.file-ribbon-title h3{font-size:.95rem;font-weight:700}.file-ribbon-title p{color:#64748b;font-size:.72rem}.file-ribbon-groups{display:flex;flex-wrap:wrap;gap:.6rem}.file-ribbon-group{display:grid;align-content:start;gap:.35rem;min-width:8rem;border-right:1px solid rgba(148,163,184,.22);padding-right:.65rem}.file-ribbon-group>span{color:#64748b;font-size:.66rem;font-weight:800;text-transform:uppercase}.file-ribbon-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.file-ribbon-search{min-width:min(16rem,100%);flex:1 1 13rem}.file-ribbon-search .field-control{width:100%}.file-view-toggle{display:flex;align-items:center;gap:.35rem}.file-view-toggle .control-button{min-height:2rem;padding:.35rem .65rem}.file-view-toggle .control-button.is-active{background:color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.72));box-shadow:inset 0 -.16rem 0 var(--accent)}
/** [CODEX - 2026-06-21 23:58:00]
 * File Manager Library groups the standard user folders with color-coded icons.
 */
.file-library-group{display:grid;gap:.35rem;border:1px solid rgba(255,255,255,.34);border-radius:.75rem;background:rgba(255,255,255,.28);padding:.45rem}.file-library-title,.file-place-library-item{display:flex;align-items:center;gap:.55rem}.file-library-title{padding:.25rem .35rem .35rem;color:#64748b;font-size:.72rem;font-weight:800;text-transform:uppercase}.file-place-library-item{--file-place-color:var(--accent);padding:.5rem .6rem}.file-place-icon{position:relative;display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:.42rem;background:linear-gradient(145deg,color-mix(in srgb,var(--file-place-color,var(--accent)) 82%,#fff 18%),var(--file-place-color,var(--accent)));box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 .35rem .8rem color-mix(in srgb,var(--file-place-color,var(--accent)) 22%,transparent);color:#fff;flex:0 0 auto}.file-place-icon-svg{border-radius:0;background:transparent;box-shadow:none;overflow:visible}.file-place-icon-svg img{display:block;width:100%;height:100%;object-fit:contain}.file-place-icon span,.file-place-icon::before,.file-place-icon::after{content:"";position:absolute;display:block}.file-place-icon-folder span{left:.28rem;right:.22rem;bottom:.28rem;height:.66rem;border-radius:.12rem;background:rgba(255,255,255,.92)}.file-place-icon-folder::before{left:.32rem;top:.33rem;width:.5rem;height:.22rem;border-radius:.1rem .1rem 0 0;background:rgba(255,255,255,.82)}body.is-dark .file-library-group{border-color:rgba(148,163,184,.22);background:rgba(15,23,42,.34)}body.is-dark .file-library-title{color:#94a3b8}
.file-row.is-selected{background:color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.7));box-shadow:inset .22rem 0 0 var(--accent)}.file-row.is-selected:hover{background:color-mix(in srgb,var(--accent) 22%,rgba(255,255,255,.74))}.file-main-content{position:relative}.file-selection-rect{position:absolute;z-index:6;border:1px solid color-mix(in srgb,var(--accent) 58%,rgba(255,255,255,.72));border-radius:.4rem;background:color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.24));box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 .75rem 1.8rem color-mix(in srgb,var(--accent) 18%,transparent);pointer-events:none}body.is-dark .file-selection-rect{border-color:color-mix(in srgb,var(--accent) 54%,rgba(148,163,184,.38));background:color-mix(in srgb,var(--accent) 22%,rgba(15,23,42,.32));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 .75rem 1.8rem rgba(2,6,23,.28)}.file-row.is-file-drop-target,.file-icon-tile.is-file-drop-target,.file-place.is-file-drop-target{border-color:color-mix(in srgb,var(--accent) 58%,rgba(255,255,255,.42));background:color-mix(in srgb,var(--accent) 24%,rgba(255,255,255,.72));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 52%,transparent)}.file-table.is-icons-view{border:0;background:transparent;overflow:visible}.file-table.is-icons-view .file-table-head{display:none}.file-icons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.7rem}.file-icon-tile{display:grid;justify-items:center;gap:.45rem;min-height:8rem;border:1px solid rgba(255,255,255,.42);border-radius:.75rem;background:rgba(255,255,255,.42);padding:.85rem .65rem;text-align:center}.file-icon-tile:hover,.file-icon-tile:focus-visible{background:rgba(255,255,255,.62)}.file-icon-tile.is-selected{border-color:color-mix(in srgb,var(--accent) 45%,rgba(255,255,255,.42));background:color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.7));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 54%,transparent)}.file-icon-art{display:grid;place-items:center;width:3.35rem;height:3.05rem;border-radius:.45rem;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.02em;box-shadow:0 12px 24px color-mix(in srgb,var(--accent) 22%,transparent)}.file-icon-name,.file-icon-meta{overflow:hidden;max-width:6.6rem;text-overflow:ellipsis;white-space:nowrap}.file-icon-name{font-size:.78rem;font-weight:700}.file-icon-meta{color:#64748b;font-size:.7rem}
/** [CODEX - 2026-06-19 02:18:00]
 * Active stylesheet needs the File Manager thumbnail frame rules so image previews and themed file glyphs render instead of raw inline images.
 */
.file-visual{position:relative;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 96%,#fff 4%),color-mix(in srgb,var(--accent-2) 88%,#fff 12%));box-shadow:0 12px 24px color-mix(in srgb,var(--accent) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.42);isolation:isolate}.file-visual::after{content:attr(data-file-ext);position:absolute;left:50%;bottom:.3rem;z-index:2;max-width:80%;overflow:hidden;color:rgba(255,255,255,.94);font-size:.58rem;font-weight:850;letter-spacing:.02em;text-overflow:ellipsis;text-transform:uppercase;transform:translateX(-50%)}.file-visual-glyph{position:absolute;inset:0;z-index:1;display:block}.file-visual.is-folder{border-radius:.36rem .46rem .46rem .46rem}.file-visual.is-folder .file-visual-glyph::before{content:"";position:absolute;left:.24rem;top:.18rem;width:42%;height:28%;border-radius:.18rem .18rem 0 0;background:color-mix(in srgb,var(--accent) 72%,#fff 28%);box-shadow:inset 0 1px 0 rgba(255,255,255,.36)}.file-visual.is-folder .file-visual-glyph::after{content:"";position:absolute;inset:.45rem .18rem .2rem .18rem;border-radius:.28rem;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 82%,#fff 18%),color-mix(in srgb,var(--accent-2) 82%,#fff 18%));box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}.file-visual.is-file{border-radius:.34rem}.file-visual.is-file .file-visual-glyph::before{content:"";position:absolute;inset:.22rem .34rem .24rem .34rem;border-radius:.18rem;background:rgba(255,255,255,.9);box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)}.file-visual.is-file .file-visual-glyph::after{content:"";position:absolute;right:.34rem;top:.22rem;width:.62rem;height:.62rem;background:linear-gradient(135deg,rgba(255,255,255,.18) 0 49%,color-mix(in srgb,var(--accent) 48%,#fff 52%) 50% 100%);clip-path:polygon(0 0,100% 100%,0 100%);box-shadow:-1px 1px 0 rgba(15,23,42,.08)}.file-visual.is-image{border-radius:.34rem;background:rgba(15,23,42,.1)}.file-visual.is-image::after,.file-visual.is-image .file-visual-glyph{display:none}.file-visual img{width:100%;height:100%;object-fit:cover;display:block}.file-kind.file-visual{width:2.35rem;height:2.05rem;font-size:0}.file-icon-art.file-visual{width:4.65rem;height:3.75rem;font-size:0}body.is-dark .file-visual{box-shadow:0 12px 24px rgba(2,6,23,.28),inset 0 1px 0 rgba(255,255,255,.16)}body.is-dark .file-visual.is-file .file-visual-glyph::before{background:rgba(226,232,240,.88)}
.task-manager{display:grid;gap:1rem}.task-manager-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr));gap:.75rem}.task-summary-card{display:grid;gap:.38rem;align-content:start;min-width:0}.task-summary-card strong,.task-summary-card span{min-width:0;overflow-wrap:anywhere}.task-table{border:1px solid rgba(255,255,255,.46);border-radius:.65rem;overflow:hidden;background:rgba(255,255,255,.34)}.task-table-head,.task-process-row{display:grid;grid-template-columns:minmax(13rem,1fr) 7rem 6rem minmax(14rem,auto);align-items:center}.task-table-head{gap:.5rem;border-bottom:1px solid rgba(148,163,184,.28);background:rgba(255,255,255,.42);padding:.55rem .75rem;font-size:.72rem;font-weight:700;color:#475569}.task-table-body{display:grid}.task-process-row{gap:.5rem;border-bottom:1px solid rgba(148,163,184,.18);padding:.6rem .75rem}.task-process-row:last-child{border-bottom:0}.task-process-row.is-active{background:color-mix(in srgb,var(--accent) 14%,rgba(255,255,255,.4))}.task-process-app{display:flex;align-items:center;gap:.6rem;min-width:0}.task-process-app strong,.task-process-app small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-process-app small{color:#64748b;font-size:.72rem}.task-process-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}
body.is-dark .file-table{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.34)}body.is-dark .file-table-head{background:rgba(15,23,42,.68)}body.is-dark .file-heading{border-color:rgba(148,163,184,.18);color:#cbd5e1}body.is-dark .file-row{border-color:rgba(148,163,184,.14)}body.is-dark .file-row:hover{background:rgba(30,41,59,.68)}body.is-dark .file-view-toggle .control-button.is-active{background:color-mix(in srgb,var(--accent) 28%,rgba(15,23,42,.72))}body.is-dark .window-tab{border-color:rgba(148,163,184,.22);background:rgba(15,23,42,.48);color:#e5edf8}body.is-dark .window-tab.is-active,body.is-dark .file-ribbon{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.62)}body.is-dark .window-tab-close{background:rgba(148,163,184,.14)}body.is-dark .file-ribbon-title p,body.is-dark .file-ribbon-group>span{color:#94a3b8}body.is-dark .file-row.is-selected{background:color-mix(in srgb,var(--accent) 22%,rgba(15,23,42,.68))}body.is-dark .file-row.is-file-drop-target,body.is-dark .file-icon-tile.is-file-drop-target,body.is-dark .file-place.is-file-drop-target{background:color-mix(in srgb,var(--accent) 26%,rgba(15,23,42,.74));border-color:color-mix(in srgb,var(--accent) 50%,rgba(148,163,184,.24))}body.is-dark .file-icon-tile{border-color:rgba(148,163,184,.22);background:rgba(15,23,42,.48)}body.is-dark .file-icon-tile:hover,body.is-dark .file-icon-tile:focus-visible{background:rgba(30,41,59,.72)}body.is-dark .file-icon-tile.is-selected{border-color:color-mix(in srgb,var(--accent) 48%,rgba(148,163,184,.24));background:color-mix(in srgb,var(--accent) 22%,rgba(15,23,42,.68))}body.is-dark .file-icon-meta{color:#94a3b8}body.is-dark .empty-state{color:#94a3b8;background:rgba(15,23,42,.34);border-color:rgba(148,163,184,.28)}
body.is-dark .task-table{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.34)}body.is-dark .task-table-head{background:rgba(15,23,42,.68);color:#cbd5e1}body.is-dark .task-process-row{border-color:rgba(148,163,184,.14)}body.is-dark .task-process-row.is-active{background:color-mix(in srgb,var(--accent) 20%,rgba(15,23,42,.5))}body.is-dark .task-process-app small{color:#94a3b8}
body.is-dark .bg-white,body.is-dark .bg-panel,body.is-dark .bg-slate-100,body.is-dark .bg-emerald-50,body.is-dark .bg-red-50{background-color:#0f172a}body.is-dark .desktop-wallpaper::before{background:linear-gradient(115deg,rgba(15,23,42,.32),rgba(15,23,42,0) 42%),radial-gradient(circle at 50% 50%,rgba(15,23,42,.22),transparent 48%)}body.is-dark .notification-button{color:#e5edf8}body.is-dark .notification-button:hover,body.is-dark .notification-button.is-active{background:rgba(30,41,59,.72)}body.is-dark .notification-header{border-color:rgba(148,163,184,.22)}body.is-dark .notification-card{border-color:rgba(148,163,184,.22);background:rgba(15,23,42,.62)}body.is-dark .notification-card p{color:#94a3b8}body.is-dark .notification-dismiss{background:rgba(148,163,184,.12);color:#e5edf8}body.is-dark .menu-app-name{background:rgba(15,23,42,.36)}body.is-dark .menu-app-name:hover,body.is-dark .menu-app-name:focus-visible,body.is-dark .menu-button:hover{background:rgba(30,41,59,.72)}body.is-dark .context-menu{border-color:rgba(148,163,184,.28);background:rgba(15,23,42,.9);box-shadow:0 18px 55px rgba(2,6,23,.48)}body.is-dark .context-menu-item{color:#e5edf8}body.is-dark .context-menu-item:hover{background:rgba(30,41,59,.86)}body.is-dark .context-menu-separator{background:rgba(148,163,184,.22)}body.is-dark .taskbar-app.is-active{background:rgba(30,41,59,.92);box-shadow:0 10px 28px rgba(2,6,23,.36),0 0 0 1px color-mix(in srgb,var(--accent) 38%,transparent)}body.is-dark .switcher{background:rgba(2,6,23,.46)}body.is-dark .switcher-card{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.74);color:#e5edf8}body.is-dark .switcher-card small{color:#94a3b8}body.is-dark .switcher-thumb{border-color:rgba(148,163,184,.22);background:rgba(2,6,23,.36)}body.is-dark .switcher-thumb-lines i{background:rgba(148,163,184,.22)}body.is-dark .window-handle{border-color:rgba(148,163,184,.22);background:linear-gradient(180deg,rgba(30,41,59,.86),rgba(15,23,42,.48))}body.is-dark .frame-button{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.54);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}body.is-dark .frame-button:hover{border-color:color-mix(in srgb,var(--accent) 45%,rgba(148,163,184,.24));background:rgba(30,41,59,.82)}body.is-dark .frame-button span{color:#e5edf8}body.is-dark .field-control{border-color:rgba(148,163,184,.28);background:rgba(2,6,23,.5);color:#e5edf8}body.is-dark .store-hero,body.is-dark .store-card,body.is-dark .store-detail,body.is-dark .settings-switch-row,body.is-dark .settings-select-row{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.58)}body.is-dark .store-category-tab,body.is-dark .settings-nav-item,body.is-dark .file-place{border-color:rgba(148,163,184,.22);background:rgba(15,23,42,.48);color:#e5edf8}body.is-dark .store-category-tab.is-active{background:rgba(30,41,59,.82);box-shadow:inset 0 -.22rem 0 var(--accent)}body.is-dark .settings-nav-item.is-active,body.is-dark .file-place.is-active{background:rgba(30,41,59,.82);box-shadow:inset .22rem 0 0 var(--accent)}body.is-dark .settings-switch-row small,body.is-dark .settings-select-row small{color:#94a3b8}body.is-dark .theme-swatch{border-color:rgba(148,163,184,.32);box-shadow:0 10px 24px rgba(2,6,23,.32)}body.is-dark .system-dialog{background:rgba(2,6,23,.52)}body.is-dark .mobile-nav-button{background:rgba(15,23,42,.72);color:#e5edf8}body.is-dark input::placeholder,body.is-dark textarea::placeholder{color:#94a3b8}
.editor-shell{height:100%;display:flex;flex-direction:column}.editor-area{flex:1;min-height:16rem;resize:none}.code-editor{display:grid;grid-template-columns:3.25rem minmax(0,1fr);min-height:16rem;flex:1;border:1px solid rgba(255,255,255,.48);border-radius:.55rem;overflow:hidden;background:rgba(255,255,255,.62)}.line-numbers{overflow:hidden;padding:.5rem .55rem;background:rgba(15,23,42,.08);color:#64748b;text-align:right;font:400 .82rem/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;user-select:none;white-space:pre}.code-area{min-height:100%;border:0;border-radius:0;background:transparent;font:400 .88rem/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;tab-size:2}.editor-status{border-top:1px solid rgba(148,163,184,.22);padding:.45rem .65rem;color:#64748b;font-size:.75rem;text-align:right}body.is-dark .code-editor{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.62)}body.is-dark .line-numbers{background:rgba(2,6,23,.35);color:#94a3b8}.calculator{container-type:inline-size;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.8rem;height:100%;min-height:0;max-width:none}.calc-display-panel{display:grid;gap:.35rem;border:1px solid rgba(255,255,255,.42);border-radius:.8rem;background:rgba(255,255,255,.46);padding:.8rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}.calc-preview{min-height:1.1rem;overflow:hidden;color:#64748b;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.calc-display{width:100%;height:clamp(3.25rem,18cqh,5.2rem);padding:.45rem .7rem;text-align:right;font-size:clamp(1.55rem,9cqi,3rem);font-weight:700;letter-spacing:0}.calc-memory-strip{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:1rem;color:#64748b;font-size:.72rem}.calc-memory-state{color:var(--accent);font-weight:700}.calc-layout{display:grid;grid-template-rows:auto minmax(0,1fr);gap:.65rem;min-height:0}.calc-memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem}.calc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(2.65rem,1fr);gap:.5rem;min-height:0}.calc-key,.calc-memory-key{display:grid;place-items:center;min-height:2.55rem;height:auto;border-radius:.65rem;font-size:clamp(.9rem,3.2cqi,1.15rem);font-weight:700}.calc-memory-key{min-height:2.15rem;font-size:.8rem}.calc-key.is-operator{background:color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.7));color:#10251f}.calc-key.is-utility,.calc-key.is-scientific{background:rgba(255,255,255,.42)}.calc-key.is-equals{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 12px 24px color-mix(in srgb,var(--accent) 24%,transparent)}@container (min-width:34rem){.calc-layout{grid-template-columns:minmax(7rem,.38fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:stretch}.calc-memory-grid{grid-template-columns:1fr;grid-auto-rows:minmax(2.6rem,1fr)}.calc-key.is-tall{grid-row:span 2}}body.is-dark .calc-display-panel{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.54);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}body.is-dark .calc-preview,body.is-dark .calc-memory-strip{color:#94a3b8}body.is-dark .calc-key.is-operator{background:color-mix(in srgb,var(--accent) 28%,rgba(15,23,42,.78));color:#e5edf8}body.is-dark .calc-key.is-utility,body.is-dark .calc-key.is-scientific{background:rgba(30,41,59,.72)}.clock-face{display:grid;place-items:center;min-height:18rem;text-align:center}.big-clock{font-size:clamp(2.4rem,9vw,5rem);font-weight:700;line-height:1}
.terminal-app{display:grid;grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:0;border-radius:.65rem;background:#07111f;color:#dbeafe;overflow:hidden;font:400 .86rem/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace}.terminal-output{overflow:auto;padding:.85rem;white-space:pre-wrap}.terminal-line{min-height:1.25rem}.terminal-line.is-command,.terminal-prompt{color:#67e8f9}.terminal-input-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.45rem;border-top:1px solid rgba(148,163,184,.22);padding:.65rem .85rem;background:rgba(2,6,23,.54)}.terminal-input{min-width:0;border:0;background:transparent;color:#f8fafc;outline:none;font:inherit}
.mobile-launcher-handle{display:none;position:absolute;left:50%;bottom:4.75rem;z-index:65;width:3rem;height:1.55rem;transform:translateX(-50%);border-radius:1rem 1rem .35rem .35rem;font-weight:700}
.mobile-nav{position:relative;z-index:50;height:3.75rem;display:none;align-items:center;justify-content:space-around;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.mobile-nav-button{height:2.5rem;min-width:4.5rem;border:0;border-radius:1.25rem;background:rgba(255,255,255,.58);font-weight:700;color:#172033}
.app-files{background:linear-gradient(135deg,#2fbf9b,#1b8eaa);color:#071816}.app-notes{background:linear-gradient(135deg,#172033,#4b5f86);color:#fff}.app-editor{background:linear-gradient(135deg,#6d5dfc,#2fbf9b);color:#fff}.app-calculator{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#1f1300}.app-browser{background:linear-gradient(135deg,#0ea5e9,#22c55e);color:#06251f}.app-store{background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff}.app-settings{background:linear-gradient(135deg,#f26b4f,#b7427f);color:#fff}.app-taskmanager{background:linear-gradient(135deg,#0f172a,#22c55e);color:#fff}.app-terminal{background:linear-gradient(135deg,#020617,#0891b2);color:#e0f2fe}.app-tasks{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff}.app-clock{background:linear-gradient(135deg,#0f172a,#38bdf8);color:#fff}.app-game{background:linear-gradient(135deg,#7c3aed,#f97316);color:#fff}.app-about{background:linear-gradient(135deg,#334155,#94a3b8);color:#fff}
@keyframes drawerIn{from{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@keyframes syncSpin{to{transform:rotate(360deg)}}
@media (max-width:760px){
  body{background:#172033}
  .h-screen{height:100dvh}
  .status-bar{height:1.45rem;padding-left:calc(.6rem + env(safe-area-inset-left));padding-right:calc(.6rem + env(safe-area-inset-right))}
  .system-text{font-size:.66rem}
  .menu-zone{flex:0 1 auto;max-width:46vw}
  .menu-bar{display:none}
  .menu-app-name{font-size:.66rem}
  #syncStatus{display:grid}
  .notification-center{left:.6rem;right:.6rem;top:2rem;width:auto;max-height:calc(100dvh - 6rem)}
  .desktop-wallpaper{padding:0 0 calc(4rem + env(safe-area-inset-bottom))}
  .taskbar{display:none}
  .mobile-nav{display:flex}
  .mobile-launcher-handle{display:block}
  .launcher-panel{left:0;right:0;top:0;bottom:calc(3.75rem + env(safe-area-inset-bottom));display:grid;grid-template-rows:auto minmax(0,1fr);width:auto;max-height:none;border-top:0;border-right:0;border-left:0;border-radius:0;padding:.85rem}
  .launcher-grid{max-height:none;min-height:0;overflow:auto}.launcher-panel.hidden{display:none}
  .launcher-app-grid{grid-template-columns:repeat(3,1fr)}
  .launcher-item{display:grid;place-items:center;text-align:center;gap:.45rem;padding:.7rem .45rem}
  .launcher-item .app-icon{height:3rem;width:3rem}
  .launcher-item span:last-child{display:grid;gap:.1rem}
  .os-window{left:0!important;top:0!important;width:100%!important;height:100%!important;max-width:none;max-height:none;min-height:0;border-radius:1rem;transform:translateX(0);transition:opacity .18s ease,transform .18s ease}
  .os-window.is-mobile-hidden{pointer-events:none;opacity:0;transform:translateX(10%) scale(.98)}
  .window-handle{height:2.65rem;cursor:default}
  .resize-handle{display:none}
  .window-content{padding:.85rem;overflow:auto}
  .h-72{height:36dvh}
  .switcher{align-items:end;padding:.6rem .6rem calc(4.2rem + env(safe-area-inset-bottom))}
  .switcher-panel{width:100%;max-height:70dvh;border-radius:1rem}
  .switcher-grid{grid-template-columns:1fr;max-height:54dvh}.switcher-card{grid-template-columns:6rem minmax(0,1fr)}.switcher-thumb{height:4rem}
  .store-row{grid-template-columns:auto 1fr;gap:.7rem}.store-row button{grid-column:1 / -1;width:100%}
  .store-browser,.store-detail{grid-template-columns:1fr}.store-nav{grid-auto-flow:column;grid-auto-columns:max-content;overflow:auto}
  .settings-app,.file-manager{grid-template-columns:1fr;height:auto;overflow:visible}.settings-nav{position:static;height:auto;max-height:none;overflow:auto;padding-right:0}.settings-nav,.file-sidebar{grid-auto-flow:column;grid-auto-columns:max-content;overflow:auto}.file-date{display:none}
  .file-toolbar{align-items:stretch;flex-direction:column}.file-toolbar-actions{width:100%}.file-table-head,.file-row{grid-template-columns:minmax(0,1fr) 5rem}.file-table-head .file-heading:nth-child(3),.file-row .file-date{display:none}
  .task-table-head,.task-process-row{grid-template-columns:minmax(0,1fr);align-items:start}.task-table-head span:not(:first-child){display:none}.task-process-actions{justify-content:flex-start}.task-process-row{gap:.45rem}
  .calc-key{min-height:3.35rem;height:auto}
}
.notification-filters{display:flex;align-items:center;gap:.45rem;border-bottom:1px solid rgba(255,255,255,.3);padding:.65rem .8rem}.notification-filters .control-button.is-active{background:rgba(255,255,255,.72);box-shadow:inset 0 -.16rem 0 var(--accent)}.notification-filters .field-control{min-width:8.5rem;height:2rem;padding:.25rem .55rem}.notification-card.is-dismissed{opacity:.68}.notification-card.is-dismissed .notification-dismiss{display:none}body.is-dark .notification-filters{border-color:rgba(148,163,184,.22)}body.is-dark .notification-filters .control-button.is-active{background:rgba(30,41,59,.82)}
/** [CODEX - 2026-06-19 23:59:00] Maximized windows merge their frame controls into the OS top bar with a compact animated control cluster. */.system-area{transition:gap .22s ease,padding-inline .22s ease}.topbar-window-controls{display:inline-flex;align-items:center;gap:.25rem;max-width:0;overflow:hidden;opacity:0;transform:translateX(.45rem) scale(.96);transition:max-width .24s ease,opacity .18s ease,transform .24s ease;pointer-events:none}.topbar-window-controls.is-visible{max-width:7rem;opacity:1;transform:translateX(0) scale(1);pointer-events:auto}.topbar-frame-button.frame-button{width:1.65rem;height:1.35rem;border-radius:.38rem}.os-window.is-topbar-merged .window-handle{height:0!important;min-height:0;padding-top:0;padding-bottom:0;border-bottom-width:0;opacity:0;overflow:hidden;pointer-events:none;transition:height .24s ease,padding .24s ease,opacity .18s ease,border-width .24s ease}.notification-source-menu{position:relative;min-width:9rem}.notification-source-trigger{display:flex;align-items:center;justify-content:space-between;gap:.65rem;height:2rem;border:1px solid rgba(255,255,255,.48);border-radius:.55rem;background:rgba(255,255,255,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.55);padding:.25rem .6rem;color:#172033;font-size:.82rem;cursor:pointer;list-style:none}.notification-source-trigger::-webkit-details-marker{display:none}.notification-source-trigger:hover{background:rgba(255,255,255,.78)}.notification-source-chevron{width:.42rem;height:.42rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.12rem) rotate(45deg);transition:transform .14s ease}.notification-source-menu[open] .notification-source-chevron{transform:translateY(.1rem) rotate(225deg)}.notification-source-options{position:absolute;right:0;top:calc(100% + .35rem);z-index:4;display:grid;min-width:100%;border:1px solid rgba(255,255,255,.48);border-radius:.65rem;background:rgba(255,255,255,.82);box-shadow:0 18px 45px rgba(15,23,42,.18);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);padding:.32rem}.notification-source-option{border-radius:.45rem;background:transparent;padding:.45rem .65rem;color:#172033;text-align:left;font-size:.8rem;white-space:nowrap}.notification-source-option:hover,.notification-source-option.is-active{background:color-mix(in srgb,var(--accent) 16%,rgba(255,255,255,.72))}body.is-dark .notification-source-trigger{border-color:rgba(148,163,184,.28);background:rgba(15,23,42,.58);color:#e5edf8;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}body.is-dark .notification-source-trigger:hover{background:rgba(30,41,59,.82)}body.is-dark .notification-source-options{border-color:rgba(148,163,184,.28);background:rgba(15,23,42,.92);box-shadow:0 18px 45px rgba(2,6,23,.42)}body.is-dark .notification-source-option{color:#e5edf8}body.is-dark .notification-source-option:hover,body.is-dark .notification-source-option.is-active{background:rgba(30,41,59,.86)}body.is-high-contrast .notification-source-trigger,body.is-high-contrast .notification-source-options,body.is-high-contrast .notification-source-option{border-color:rgba(0,0,0,.55);background:#fff;color:#0f172a}body.is-high-contrast.is-dark .notification-source-trigger,body.is-high-contrast.is-dark .notification-source-options,body.is-high-contrast.is-dark .notification-source-option{border-color:rgba(255,255,255,.62);background:#0f172a;color:#f8fafc}
.system-select{display:flex;align-items:center;justify-content:space-between;gap:.65rem;min-width:9rem;min-height:2.25rem;border:1px solid rgba(255,255,255,.48);border-radius:.55rem;background:rgba(255,255,255,.74);box-shadow:inset 0 1px 0 rgba(255,255,255,.55);padding:.45rem .7rem;color:#172033;font-size:.875rem;text-align:left;transition:transform .14s ease,background .14s ease,border-color .14s ease}.system-select:hover,.system-select:focus-visible{background:rgba(255,255,255,.86);transform:translateY(-1px)}.system-select-chevron{width:.42rem;height:.42rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.12rem) rotate(45deg);flex:0 0 auto}body.is-dark .system-select{border-color:rgba(148,163,184,.28);background:rgba(2,6,23,.5);color:#e5edf8;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}body.is-dark .system-select:hover,body.is-dark .system-select:focus-visible{background:rgba(30,41,59,.82)}body.is-high-contrast .system-select{border-color:rgba(0,0,0,.55);background:#fff;color:#0f172a}body.is-high-contrast.is-dark .system-select{border-color:rgba(255,255,255,.62);background:#0f172a;color:#f8fafc}
/** [CODEX - 2026-06-13 16:52:00] Compact sync status control replaces passive top-bar sync text and exposes conflicts in a system dropdown. */
.sync-status{position:relative;display:grid;place-items:center}.sync-status-button{display:grid;place-items:center;width:1.45rem;height:1.45rem;border:1px solid rgba(255,255,255,.46);border-radius:.45rem;background:rgba(255,255,255,.5);color:#172033;box-shadow:inset 0 1px 0 rgba(255,255,255,.55);cursor:pointer;transition:transform .14s ease,background .14s ease,border-color .14s ease}.sync-status-button:hover,.sync-status-button:focus-visible,.sync-status-button[aria-expanded=true]{background:rgba(255,255,255,.78);transform:translateY(-1px)}.sync-status-icon{position:relative;width:.82rem;height:.82rem}.sync-status-icon::before,.sync-status-icon::after{content:"";position:absolute;border-radius:999px;background:currentColor}.sync-status[data-sync-state=ok] .sync-status-button{color:#047857}.sync-status[data-sync-state=ok] .sync-status-icon::before{left:.12rem;top:.42rem;width:.32rem;height:.12rem;transform:rotate(45deg)}.sync-status[data-sync-state=ok] .sync-status-icon::after{left:.32rem;top:.32rem;width:.56rem;height:.12rem;transform:rotate(-45deg)}.sync-status[data-sync-state=error] .sync-status-button{color:#b91c1c}.sync-status[data-sync-state=error] .sync-status-icon::before,.sync-status[data-sync-state=error] .sync-status-icon::after{left:.08rem;top:.36rem;width:.72rem;height:.12rem}.sync-status[data-sync-state=error] .sync-status-icon::before{transform:rotate(45deg)}.sync-status[data-sync-state=error] .sync-status-icon::after{transform:rotate(-45deg)}.sync-status[data-sync-state=pending] .sync-status-icon{border:.12rem solid currentColor;border-right-color:transparent;border-radius:999px;animation:syncSpin .7s linear infinite}.sync-status[data-sync-state=pending] .sync-status-icon::before,.sync-status[data-sync-state=pending] .sync-status-icon::after{display:none}.sync-status-panel{position:absolute;top:calc(100% + .45rem);left:50%;z-index:130;display:grid;gap:.55rem;width:min(18rem,calc(100vw - 1.2rem));border:1px solid rgba(255,255,255,.48);border-radius:.75rem;background:rgba(255,255,255,.86);box-shadow:0 18px 45px rgba(15,23,42,.2);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);padding:.65rem;transform:translateX(-50%)}.sync-status-panel.hidden{display:none}.sync-status-heading{display:grid;gap:.12rem}.sync-status-heading strong{font-size:.82rem}.sync-status-heading small,.sync-status-entry small{color:#64748b;font-size:.72rem}.sync-status-list{display:grid;gap:.35rem}.sync-status-entry{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;border-radius:.55rem;padding:.45rem;background:rgba(255,255,255,.48)}.sync-status-entry span{display:grid;min-width:0}.sync-status-entry strong,.sync-status-entry small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-status-empty{border-radius:.55rem;background:rgba(255,255,255,.48);padding:.55rem;color:#64748b;font-size:.78rem}body.is-dark .sync-status-button{border-color:rgba(148,163,184,.28);background:rgba(15,23,42,.58);color:#e5edf8;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}body.is-dark .sync-status-button:hover,body.is-dark .sync-status-button:focus-visible,body.is-dark .sync-status-button[aria-expanded=true]{background:rgba(30,41,59,.82)}body.is-dark .sync-status[data-sync-state=ok] .sync-status-button{color:#34d399}body.is-dark .sync-status[data-sync-state=error] .sync-status-button{color:#f87171}body.is-dark .sync-status-panel{border-color:rgba(148,163,184,.28);background:rgba(15,23,42,.92);box-shadow:0 18px 45px rgba(2,6,23,.42)}body.is-dark .sync-status-heading small,body.is-dark .sync-status-entry small,body.is-dark .sync-status-empty{color:#94a3b8}body.is-dark .sync-status-entry,body.is-dark .sync-status-empty{background:rgba(30,41,59,.62)}body.is-high-contrast .sync-status-button,body.is-high-contrast .sync-status-panel,body.is-high-contrast .sync-status-entry,body.is-high-contrast .sync-status-empty{border-color:rgba(0,0,0,.55);background:#fff;color:#0f172a}body.is-high-contrast.is-dark .sync-status-button,body.is-high-contrast.is-dark .sync-status-panel,body.is-high-contrast.is-dark .sync-status-entry,body.is-high-contrast.is-dark .sync-status-empty{border-color:rgba(255,255,255,.62);background:#0f172a;color:#f8fafc}
.settings-shortcuts{display:grid;gap:.55rem}.settings-shortcut-head,.settings-shortcut-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(9rem,.8fr);align-items:center;gap:1rem}.settings-shortcut-head{padding:0 .75rem;color:#64748b;font-size:.72rem;font-weight:800;text-transform:uppercase}.shortcut-keys{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.shortcut-keys kbd{min-height:1.55rem;border:1px solid rgba(15,23,42,.16);border-radius:.38rem;background:rgba(255,255,255,.72);padding:.2rem .45rem;color:#334155;font-size:.72rem;font-weight:800;box-shadow:inset 0 -1px 0 rgba(15,23,42,.12)}body.is-dark .settings-shortcut-head{color:#94a3b8}body.is-dark .shortcut-keys kbd{border-color:rgba(148,163,184,.28);background:rgba(15,23,42,.72);color:#e5edf8}
.settings-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.settings-actions .control-button{min-height:2.15rem}body.is-dark .settings-actions .control-button{background:rgba(15,23,42,.58);color:#e5edf8}
.settings-search{position:relative;display:block;margin-bottom:.55rem;padding:.2rem .15rem .55rem 0;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.76) 72%,rgba(255,255,255,0));backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}.settings-search .field-control{height:2.35rem;border-radius:999px;border-color:rgba(255,255,255,.56);background:rgba(255,255,255,.66);box-shadow:inset 0 1px 0 rgba(255,255,255,.62),0 .75rem 1.8rem rgba(15,23,42,.08);padding-left:2.35rem;padding-right:.9rem;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.settings-search .field-control:focus{border-color:color-mix(in srgb,var(--accent) 46%,rgba(255,255,255,.56));background:rgba(255,255,255,.86);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 .85rem 2rem color-mix(in srgb,var(--accent) 14%,transparent)}.settings-search-icon{position:absolute;left:.86rem;top:calc(50% - .16rem);z-index:1;width:.78rem;height:.78rem;border:.12rem solid currentColor;border-radius:50%;color:#64748b;transform:translateY(-50%);pointer-events:none}.settings-search-icon::after{content:"";position:absolute;right:-.28rem;bottom:-.2rem;width:.42rem;height:.12rem;border-radius:999px;background:currentColor;transform:rotate(45deg)}.settings-nav-item{display:flex;align-items:center;gap:.6rem}.settings-section-icon{display:grid;place-items:center;width:2.15rem;height:2.15rem;aspect-ratio:1 / 1;border-radius:.55rem;background:color-mix(in srgb,var(--accent) 16%,rgba(255,255,255,.72));color:#172033;box-shadow:inset 0 1px 0 rgba(255,255,255,.48);flex:0 0 auto}.settings-section-icon svg{width:1.28rem;height:1.28rem;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.settings-home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14.5rem,1fr));gap:.9rem}.settings-section-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;min-height:5.7rem;border:1px solid rgba(255,255,255,.48);border-radius:.85rem;background:rgba(255,255,255,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.55);padding:1rem;text-align:left;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.settings-section-card > span,.settings-switch-row > span:first-child,.settings-select-row > span:first-child{display:grid;gap:.24rem;min-width:0}.settings-section-card:hover,.settings-section-card:focus-visible{border-color:color-mix(in srgb,var(--accent) 42%,rgba(255,255,255,.48));background:rgba(255,255,255,.78);box-shadow:0 12px 30px color-mix(in srgb,var(--accent) 16%,transparent),inset 0 1px 0 rgba(255,255,255,.62);transform:translateY(-1px)}.settings-section-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.settings-section-card small{display:-webkit-box;overflow:hidden;color:#64748b;font-size:.76rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.settings-search-results .settings-section-card{grid-template-columns:auto minmax(0,1fr);width:100%;min-height:4.8rem}.settings-search-results{display:grid;grid-template-columns:1fr;gap:.55rem}.settings-search-result small b{color:#334155;font-weight:700}body.is-dark .settings-search-icon{color:#94a3b8}body.is-dark .settings-section-icon{background:color-mix(in srgb,var(--accent) 24%,rgba(15,23,42,.68));color:#e5edf8;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}body.is-dark .settings-section-card{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}body.is-dark .settings-section-card:hover,body.is-dark .settings-section-card:focus-visible{border-color:color-mix(in srgb,var(--accent) 45%,rgba(148,163,184,.24));background:rgba(30,41,59,.82);box-shadow:0 12px 30px rgba(2,6,23,.28),inset 0 1px 0 rgba(255,255,255,.08)}body.is-dark .settings-section-card small{color:#94a3b8}body.is-dark .settings-search-result small b{color:#e5edf8}
.settings-permissions{display:grid;gap:.65rem}.settings-permission-row{display:grid;gap:.7rem}.settings-permission-head{display:flex;align-items:center;gap:.65rem}.settings-permission-head small{display:block;color:#64748b;font-size:.75rem}.settings-permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.settings-permission-grid span{display:grid;gap:.12rem;border:1px solid rgba(15,23,42,.08);border-radius:.55rem;background:rgba(255,255,255,.38);padding:.55rem}.settings-permission-grid strong{font-size:.72rem;text-transform:uppercase;color:#64748b}.settings-permission-grid small{color:#475569;font-size:.76rem;line-height:1.35}body.is-dark .settings-permission-head small,body.is-dark .settings-permission-grid strong,body.is-dark .settings-permission-grid small{color:#94a3b8}body.is-dark .settings-permission-grid span{border-color:rgba(148,163,184,.2);background:rgba(15,23,42,.42)}@media (max-width:760px){.settings-permission-grid{grid-template-columns:1fr}}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body.is-reduced-motion *,body.is-reduced-motion *::before,body.is-reduced-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}body.is-high-contrast{--accent:#006bff;--accent-2:#001a72}body.is-high-contrast .glass-panel,body.is-high-contrast .os-window,body.is-high-contrast .status-bar,body.is-high-contrast .taskbar,body.is-high-contrast .mobile-nav,body.is-high-contrast .notification-center{border-color:rgba(0,0,0,.62);background:rgba(255,255,255,.92);backdrop-filter:none;-webkit-backdrop-filter:none}body.is-high-contrast .control-button,body.is-high-contrast .field-control,body.is-high-contrast .settings-switch-row,body.is-high-contrast .settings-select-row,body.is-high-contrast .content-row,body.is-high-contrast .launcher-item,body.is-high-contrast .file-row,body.is-high-contrast .store-card,body.is-high-contrast .notification-card{border-color:rgba(0,0,0,.55);background:#fff;color:#0f172a}body.is-high-contrast .text-slate-500,body.is-high-contrast small{color:#1f2937}body.is-high-contrast.is-dark .glass-panel,body.is-high-contrast.is-dark .os-window,body.is-high-contrast.is-dark .status-bar,body.is-high-contrast.is-dark .taskbar,body.is-high-contrast.is-dark .mobile-nav,body.is-high-contrast.is-dark .notification-center{border-color:rgba(255,255,255,.72);background:#020617}body.is-high-contrast.is-dark .control-button,body.is-high-contrast.is-dark .field-control,body.is-high-contrast.is-dark .settings-switch-row,body.is-high-contrast.is-dark .settings-select-row,body.is-high-contrast.is-dark .content-row,body.is-high-contrast.is-dark .launcher-item,body.is-high-contrast.is-dark .file-row,body.is-high-contrast.is-dark .store-card,body.is-high-contrast.is-dark .notification-card{border-color:rgba(255,255,255,.62);background:#0f172a;color:#f8fafc}body.is-high-contrast.is-dark .text-slate-500,body.is-high-contrast.is-dark small{color:#dbeafe}
.brickdash-game{display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;height:100%;min-height:0;container-type:size}.brickdash-hud{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid rgba(255,255,255,.42);border-radius:.75rem;background:rgba(255,255,255,.48);padding:.75rem}.brickdash-guide-button{min-height:2rem;padding:.35rem .65rem;font-size:.78rem}.system-guide{display:grid;gap:.85rem}.system-guide-head{display:flex;align-items:center;gap:.75rem}.system-guide-head span,.system-guide-section{display:grid;gap:.25rem}.system-guide-head small,.system-guide-summary,.system-guide-section p{color:#64748b;font-size:.85rem;line-height:1.45}.system-guide-sections{display:grid;gap:.6rem}.system-window-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.15rem}.brickdash-board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem;width:min(100%,24rem);width:min(100%,24rem,calc((100cqh - 7.5rem) * 1.2));min-width:min(100%,14rem);justify-self:center;outline:none}.brickdash-cell{aspect-ratio:1 / 1;border:1px solid rgba(15,23,42,.12);border-radius:.45rem;background:linear-gradient(135deg,rgba(255,255,255,.38),rgba(255,255,255,0)),color-mix(in srgb,var(--accent) 12%,#e2e8f0);box-shadow:inset 0 1px 0 rgba(255,255,255,.58),0 8px 16px rgba(15,23,42,.08)}.brickdash-cell.is-player{border-color:color-mix(in srgb,var(--accent-2) 68%,#0f172a);background:linear-gradient(135deg,rgba(255,255,255,.32),rgba(255,255,255,0) 46%),linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 12px 24px color-mix(in srgb,var(--accent) 34%,transparent)}.brickdash-cell.is-target{border-color:#ca8a04;background:linear-gradient(135deg,rgba(255,255,255,.38),rgba(255,255,255,0) 48%),linear-gradient(135deg,#fde047,#f97316);box-shadow:inset 0 1px 0 rgba(255,255,255,.44),0 12px 24px rgba(249,115,22,.28)}.brickdash-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}.brickdash-controls .control-button{min-width:0;padding-inline:.4rem}@container (max-width:22rem){.brickdash-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}body.is-dark .brickdash-hud{border-color:rgba(148,163,184,.22);background:rgba(15,23,42,.54)}body.is-dark .brickdash-cell{border-color:rgba(148,163,184,.2);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,0)),color-mix(in srgb,var(--accent) 18%,#1e293b);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 8px 18px rgba(2,6,23,.24)}body.is-dark .brickdash-cell.is-player{border-color:color-mix(in srgb,var(--accent) 54%,#e5edf8);background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,0) 44%),linear-gradient(135deg,var(--accent),var(--accent-2))}body.is-dark .brickdash-cell.is-target{border-color:#facc15;background:linear-gradient(135deg,rgba(255,255,255,.26),rgba(255,255,255,0) 48%),linear-gradient(135deg,#fde047,#f97316)}body.is-dark .system-guide-head small,body.is-dark .system-guide-summary,body.is-dark .system-guide-section p{color:#94a3b8}
.snake-game{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;align-items:center;gap:.75rem;height:100%;min-height:0;container-type:size}.snake-hud{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.55rem .8rem;border:1px solid rgba(255,255,255,.42);border-radius:.75rem;background:rgba(255,255,255,.48);padding:.75rem}.snake-guide-button{min-height:2rem;padding:.35rem .65rem;font-size:.78rem}.snake-board{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:.18rem;width:min(100%,25rem);width:min(100%,25rem,calc(100cqh - 9rem));min-width:min(100%,15rem);justify-self:center;border:1px solid rgba(15,23,42,.1);border-radius:.85rem;background:linear-gradient(135deg,#dbeafe,#dcfce7);padding:.45rem;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}.snake-cell{aspect-ratio:1 / 1;border-radius:.22rem;background:rgba(255,255,255,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.42)}.snake-cell.is-body{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:inset 0 1px 0 rgba(255,255,255,.32)}.snake-cell.is-head{background:linear-gradient(135deg,#14b8a6,#0f766e);box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 0 0 2px rgba(15,118,110,.24)}.snake-cell.is-food{background:linear-gradient(135deg,#fb7185,#dc2626);box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 0 0 2px rgba(220,38,38,.22)}.snake-controls,.snake-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.snake-pad{grid-template-columns:repeat(4,minmax(0,1fr))}.snake-controls .control-button,.snake-pad .control-button{min-width:0;padding-inline:.4rem}body.is-dark .snake-hud{border-color:rgba(148,163,184,.22);background:rgba(15,23,42,.54)}body.is-dark .snake-board{border-color:rgba(148,163,184,.22);background:linear-gradient(135deg,#0f172a,#164e63);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}body.is-dark .snake-cell{background:rgba(15,23,42,.82);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}body.is-dark .snake-cell.is-body{background:linear-gradient(135deg,#22c55e,#15803d)}body.is-dark .snake-cell.is-head{background:linear-gradient(135deg,#5eead4,#0f766e)}body.is-dark .snake-cell.is-food{background:linear-gradient(135deg,#fb7185,#b91c1c)}
.browser-shell{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:.5rem;height:100%;min-height:0}.browser-tabs{display:flex;gap:.35rem;overflow-x:auto;padding-bottom:.1rem;scrollbar-width:thin}.browser-tab{display:inline-flex;align-items:center;gap:.45rem;max-width:11rem;border:1px solid rgba(255,255,255,.42);border-radius:.55rem;background:rgba(255,255,255,.42);padding:.45rem .65rem;font-size:.78rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .14s ease,box-shadow .14s ease,opacity .14s ease,transform .14s ease}.browser-tab span{overflow:hidden;text-overflow:ellipsis}.browser-tab.is-active{background:rgba(255,255,255,.82);box-shadow:inset 0 -.18rem 0 var(--accent)}.browser-tab.is-dragging{opacity:.55}.browser-tab.is-drop-target{box-shadow:inset 0 -.18rem 0 var(--accent),0 0 0 2px color-mix(in srgb,var(--accent) 42%,transparent)}.browser-tab-close{display:grid;place-items:center;width:1rem;height:1rem;border-radius:.25rem;color:inherit}.browser-tab-close:hover{background:rgba(15,23,42,.08)}.browser-new-tab{width:2.2rem;justify-content:center}.browser-toolbar{display:grid;grid-template-columns:repeat(3,2.3rem) minmax(0,1fr) repeat(2,2.3rem);gap:.4rem;align-items:center}.browser-nav-button{display:grid;place-items:center;min-width:0;height:2.25rem;padding:0;font-size:.95rem}.browser-icon{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.browser-address-form{min-width:0}.browser-address{width:100%;height:2.25rem}.browser-meta{display:flex;flex-wrap:wrap;gap:.45rem .85rem;color:#64748b;font-size:.72rem}.browser-content{position:relative;min-height:0;border:1px solid rgba(255,255,255,.42);border-radius:.75rem;background:rgba(255,255,255,.34);overflow:hidden}.browser-frame-host,.browser-frame,.browser-native-surface{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff}.browser-frame-host{background:transparent}.browser-native-surface{display:grid;place-items:center;color:#64748b;font-size:.85rem}.browser-fallback-note{position:absolute;left:.75rem;right:.75rem;bottom:.75rem;border:1px solid rgba(255,255,255,.5);border-radius:.65rem;background:rgba(255,255,255,.78);padding:.65rem .75rem;color:#475569;font-size:.75rem;pointer-events:none}body.is-dark .browser-tab,body.is-dark .browser-content,body.is-dark .browser-fallback-note{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.62);color:#e5edf8}body.is-dark .browser-tab.is-active{background:rgba(30,41,59,.82)}body.is-dark .browser-meta,body.is-dark .browser-native-surface{color:#94a3b8}
.browser-start{position:absolute;inset:0;display:grid;gap:1rem;align-content:start;overflow:auto;padding:1rem;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.38))}.browser-start.hidden{display:none}.browser-start-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid rgba(255,255,255,.5);border-radius:.85rem;background:rgba(255,255,255,.5);padding:1rem}.browser-start-hero h2{font-size:1.05rem;font-weight:800}.browser-start-hero p,.browser-start-section h3,.browser-start-card small,.browser-start-empty{color:#64748b;font-size:.78rem}.browser-start-section{display:grid;gap:.55rem}.browser-start-section h3{font-weight:800;text-transform:uppercase}.browser-start-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.65rem}.browser-start-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;border:1px solid rgba(255,255,255,.45);border-radius:.75rem;background:rgba(255,255,255,.5);padding:.75rem;text-align:left;transition:background .14s ease,transform .14s ease,box-shadow .14s ease}.browser-start-card:hover,.browser-start-card:focus-visible{background:rgba(255,255,255,.78);box-shadow:0 12px 30px rgba(15,23,42,.12);transform:translateY(-1px)}.browser-start-card span:nth-child(2){display:grid;min-width:0}.browser-start-card strong,.browser-start-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-start-card b{display:grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:.4rem;color:#64748b}.browser-start-card b:hover{background:rgba(15,23,42,.08);color:#172033}.browser-start-favicon{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.62rem;background:color-mix(in srgb,var(--accent) 18%,#fff);color:#172033;font-size:.78rem;font-weight:900}.browser-start-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:.55rem}.browser-start-empty{border:1px dashed rgba(100,116,139,.34);border-radius:.75rem;padding:.9rem}body.is-dark .browser-start-hero,body.is-dark .browser-start-card,body.is-dark .browser-start-empty{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.62);color:#e5edf8}body.is-dark .browser-start{background:linear-gradient(135deg,rgba(15,23,42,.82),rgba(15,23,42,.48))}body.is-dark .browser-start-card:hover,body.is-dark .browser-start-card:focus-visible{background:rgba(30,41,59,.82);box-shadow:0 12px 30px rgba(2,6,23,.28)}body.is-dark .browser-start-hero p,body.is-dark .browser-start-section h3,body.is-dark .browser-start-card small,body.is-dark .browser-start-empty{color:#94a3b8}@media (max-width:760px){.browser-start-form{grid-template-columns:1fr}.browser-start-hero{align-items:stretch;flex-direction:column}}
/** [CODEX - 2026-06-14 04:54:00] Open web package surfaces mirror the source stylesheet for direct serving. */
.packaged-game,.paint-app,.draw-app,.mermaid-app,.sandspiel-app{display:grid;gap:.75rem;height:100%;min-height:0}.paint-app,.draw-app,.sandspiel-app{grid-template-rows:auto minmax(0,1fr)}.packaged-game{grid-template-rows:auto minmax(0,1fr) auto;align-items:center;container-type:size}.packaged-game-hud,.paint-toolbar,.draw-toolbar,.mermaid-toolbar,.sandspiel-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;border:1px solid rgba(255,255,255,.42);border-radius:.75rem;background:rgba(255,255,255,.48);padding:.75rem}.packaged-game-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:.45rem;width:100%}.game2048-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;width:min(100%,22rem);justify-self:center;border-radius:1rem;background:#a78b71;padding:.75rem;outline:none}.game2048-cell{display:grid;place-items:center;aspect-ratio:1 / 1;border-radius:.65rem;background:#cdc1b4;color:#172033;font-size:clamp(1.2rem,6vw,2.3rem);font-weight:900}.game2048-cell:not(.tile-0){background:linear-gradient(135deg,#fef3c7,#f59e0b);box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}.game2048-cell.tile-4,.game2048-cell.tile-8{background:linear-gradient(135deg,#fed7aa,#fb923c)}.game2048-cell.tile-16,.game2048-cell.tile-32,.game2048-cell.tile-64{background:linear-gradient(135deg,#fdba74,#ef4444);color:#fff}.game2048-cell.tile-128,.game2048-cell.tile-256,.game2048-cell.tile-512,.game2048-cell.tile-1024,.game2048-cell.tile-2048{background:linear-gradient(135deg,#a7f3d0,#14b8a6);color:#06251f}.paint-canvas,.draw-canvas,.sandspiel-canvas,.mermaid-preview{min-width:0;width:100%;height:100%;min-height:0;border:1px solid rgba(255,255,255,.42);border-radius:.8rem;background:#fff}.paint-canvas,.sandspiel-canvas{touch-action:none}.sandspiel-canvas{background:#0f172a;image-rendering:pixelated}.draw-canvas{touch-action:none;background:#fffdf7}.draw-canvas rect,.draw-canvas line,.draw-canvas polyline{fill:rgba(20,184,166,.08);stroke:#0f766e;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.draw-canvas polyline{fill:none}.mermaid-app{grid-template-columns:minmax(15rem,.8fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.mermaid-toolbar{grid-column:1 / -1}.mermaid-source{min-height:0;resize:none;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.mermaid-preview{overflow:auto;padding:.75rem}.mermaid-svg{width:100%;min-width:34rem;height:auto}.mermaid-svg rect{fill:#ecfeff;stroke:#0f766e;stroke-width:2}.mermaid-svg line{stroke:#475569;stroke-width:2.4}.mermaid-svg text{dominant-baseline:middle;text-anchor:middle;fill:#0f172a;font-size:14px;font-weight:700}body.is-dark .packaged-game-hud,body.is-dark .paint-toolbar,body.is-dark .draw-toolbar,body.is-dark .mermaid-toolbar,body.is-dark .sandspiel-toolbar{border-color:rgba(148,163,184,.22);background:rgba(15,23,42,.54)}body.is-dark .paint-canvas,body.is-dark .draw-canvas,body.is-dark .mermaid-preview{border-color:rgba(148,163,184,.22);background:#111827}body.is-dark .game2048-board{background:#5b4638}body.is-dark .game2048-cell{background:#475569;color:#f8fafc}body.is-dark .draw-canvas rect,body.is-dark .draw-canvas line,body.is-dark .draw-canvas polyline{stroke:#5eead4}body.is-dark .mermaid-svg rect{fill:#0f172a;stroke:#5eead4}body.is-dark .mermaid-svg line{stroke:#cbd5e1}body.is-dark .mermaid-svg text{fill:#e2e8f0}@media (max-width:760px){.mermaid-app{grid-template-columns:1fr;grid-template-rows:auto minmax(10rem,.7fr) minmax(0,1fr)}}
/** [CODEX - 2026-06-13 23:06:00] Browser favicon and window-title icon sizing for the directly served stylesheet. */
.browser-tab-favicon,.window-title-favicon{display:grid;flex:0 0 auto;place-items:center;width:1rem;height:1rem;border-radius:.25rem;background:rgba(255,255,255,.58);color:#334155;font-size:.58rem;font-weight:900;line-height:1;overflow:hidden}.browser-tab-favicon img,.window-title-favicon img{width:100%;height:100%;object-fit:contain}.window-title{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.window-title-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.is-dark .browser-tab-favicon,body.is-dark .window-title-favicon{background:rgba(15,23,42,.78);color:#e2e8f0}
/** [CODEX - 2026-06-13 23:59:00] Settings search remains pinned at the top of the Settings navigation while content scrolls. */
.settings-search{position:sticky;top:0;z-index:4}body.is-dark .settings-search{background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(15,23,42,.78) 72%,rgba(15,23,42,0))}body.is-dark .settings-search .field-control{border-color:rgba(148,163,184,.24);background:rgba(2,6,23,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 .75rem 1.8rem rgba(2,6,23,.22)}body.is-dark .settings-search .field-control:focus{border-color:color-mix(in srgb,var(--accent) 48%,rgba(148,163,184,.24));background:rgba(15,23,42,.74);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 .85rem 2rem rgba(2,6,23,.32)}
/** [CODEX - 2026-06-14 00:18:00] Taskbar thumbnails mirror Open Apps switcher cards with close in the top-right corner. */
.taskbar-preview{position:relative;display:grid;grid-template-columns:8rem minmax(0,1fr);align-items:center;gap:.75rem;width:17rem;min-height:6.4rem;border:1px solid rgba(255,255,255,.42);border-radius:.75rem;background:rgba(255,255,255,.52);padding:.8rem 2.45rem .8rem .8rem;text-align:left;transition:transform .08s ease,background .08s ease,border-color .08s ease,box-shadow .08s ease}.taskbar-preview.is-active{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 34%,transparent),0 18px 42px rgba(15,23,42,.26)}.taskbar-preview .switcher-thumb{width:100%;height:4.8rem}.preview-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:700}.preview-close{position:absolute;top:.55rem;right:.55rem;display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:.35rem;background:rgba(15,23,42,.08);font-size:.8rem;font-weight:800}.preview-close:hover{background:rgba(239,68,68,.18);color:#991b1b}body.is-dark .taskbar-preview{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.74);color:#e5edf8}body.is-dark .taskbar-preview.is-active{background:#0f172a}
/** [CODEX - 2026-06-14 00:31:00] Taskbar preview panels clamp to viewport edges and stack into a scrollable list when too wide. */
.taskbar-previews{left:var(--taskbar-preview-left,50%);transform:translate(var(--taskbar-preview-shift,-50%),.35rem)}.taskbar-group:hover .taskbar-previews,.taskbar-group:focus-within .taskbar-previews{transform:translate(var(--taskbar-preview-shift,-50%),0)}.taskbar-previews.is-stacked{flex-direction:column;align-items:stretch;width:min(14rem,calc(100vw - 1rem));max-height:min(60dvh,28rem);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.taskbar-previews.is-stacked .taskbar-preview{width:100%}
/** [CODEX - 2026-06-13 20:40:16] Invisible taskbar preview bridge preserves hover while crossing the gap from icon to previews. */
.taskbar-preview-bridge{position:absolute;left:-.75rem;right:-.75rem;bottom:100%;height:1rem;pointer-events:auto}
/** [CODEX - 2026-06-13 21:08:00] Upstream bundled app frames keep real third-party web apps contained inside LinkOS windows. */
.upstream-app-shell{display:grid;grid-template-rows:auto minmax(0,1fr);gap:.75rem;height:100%;min-height:0}.upstream-app-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;border:1px solid rgba(255,255,255,.42);border-radius:.75rem;background:rgba(255,255,255,.48);padding:.75rem}.upstream-app-bar span{color:#64748b;font-size:.8rem}.upstream-app-frame,.excalidraw-direct-root{width:100%;height:100%;min-height:0;border:1px solid rgba(255,255,255,.42);border-radius:.8rem;background:#fff;overflow:hidden}body.is-dark .upstream-app-bar{border-color:rgba(148,163,184,.22);background:rgba(15,23,42,.54)}body.is-dark .upstream-app-bar span{color:#94a3b8}body.is-dark .upstream-app-frame,body.is-dark .excalidraw-direct-root{border-color:rgba(148,163,184,.22);background:#111827}
/* Immersive no-padding styling for iframe-hosted bundled apps. */.os-window[data-app-id=game2048] .window-content,.os-window[data-app-id=jspaint] .window-content,.os-window[data-app-id=excalidraw] .window-content,.os-window[data-app-id=sandspiel] .window-content{padding:0;overflow:hidden}.os-window.is-maximized[data-app-id=game2048] .window-content,.os-window.is-maximized[data-app-id=jspaint] .window-content,.os-window.is-maximized[data-app-id=excalidraw] .window-content,.os-window.is-maximized[data-app-id=sandspiel] .window-content{padding:0}.os-window[data-app-id=game2048] .upstream-app-shell,.os-window[data-app-id=jspaint] .upstream-app-shell,.os-window[data-app-id=excalidraw] .upstream-app-shell,.os-window[data-app-id=sandspiel] .upstream-app-shell{display:block;height:100%;min-height:0}.os-window[data-app-id=game2048] .upstream-app-bar,.os-window[data-app-id=jspaint] .upstream-app-bar,.os-window[data-app-id=excalidraw] .upstream-app-bar,.os-window[data-app-id=sandspiel] .upstream-app-bar{display:none}.os-window[data-app-id=game2048] .upstream-app-frame,.os-window[data-app-id=jspaint] .upstream-app-frame,.os-window[data-app-id=excalidraw] .upstream-app-frame,.os-window[data-app-id=sandspiel] .upstream-app-frame{display:block;width:100%;height:100%;min-height:0;border:0;border-radius:0}

/* [CODEX - 2026-06-14 23:59:00] Image Viewer system app styling mirrors the source stylesheet without rebuilding recovered shell chrome. */.app-imageviewer{background:linear-gradient(135deg,#38bdf8,#6366f1);color:#f8fafc}.image-viewer-app{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.65rem;height:100%;min-height:0}/** [CODEX - 2026-06-19 23:58:40] Image Viewer fullscreen turns the app surface into a clean immersive canvas without losing controls. */.image-viewer-app:fullscreen,.image-viewer-app.is-app-fullscreen{width:100vw;height:100vh;padding:1rem;background:#020617}/** [CODEX - 2026-06-20 00:21:00] Internal app fullscreen overlays LinkOS without exiting the host browser/PWA fullscreen state. */.image-viewer-app.is-app-fullscreen{position:fixed;inset:0;z-index:10020}.image-viewer-toolbar,.image-viewer-status{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid rgba(255,255,255,.42);border-radius:.75rem;background:rgba(255,255,255,.48);padding:.65rem .75rem}.image-viewer-file{display:grid;min-width:0;gap:.15rem}.image-viewer-file strong,.image-viewer-file small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-viewer-file small,.image-viewer-status{color:#64748b;font-size:.78rem}.image-viewer-controls{display:flex;flex:0 0 auto;align-items:center;gap:.35rem}.image-viewer-controls .control-button{display:grid;place-items:center;width:2.1rem;height:2.1rem;min-width:0;padding:0}.image-viewer-controls .control-button:disabled{cursor:default;opacity:.34;transform:none}.image-viewer-controls svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.image-viewer-stage{display:grid;place-items:center;min-height:0;border:1px solid rgba(255,255,255,.42);border-radius:.85rem;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.32),rgba(15,23,42,.08) 42%,rgba(15,23,42,.16));cursor:grab;overflow:auto;touch-action:none}/** [CODEX - 2026-06-19 23:48:16] Fit-to-window uses computed transform scale, while actual-size and manual zoom keep scrollable overflow. */.image-viewer-stage.is-panning{cursor:grabbing}.image-viewer-stage.is-fit{position:relative;overflow:hidden}.image-viewer-image{display:block;max-width:none;max-height:none;transform-origin:center;transition:transform .14s ease;user-select:none}/** [CODEX - 2026-06-20 00:08:00] Fit mode removes the natural image box from layout so large images truly fit the visible stage. */.image-viewer-image.is-fit{position:absolute;left:50%;top:50%;max-width:none;max-height:none;object-fit:contain}body.is-dark .image-viewer-toolbar,body.is-dark .image-viewer-status,body.is-dark .image-viewer-stage{border-color:rgba(148,163,184,.22);background:rgba(15,23,42,.54)}body.is-dark .image-viewer-file small,body.is-dark .image-viewer-status{color:#94a3b8}@media (max-width:760px){.image-viewer-toolbar{align-items:stretch;flex-direction:column}.image-viewer-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.image-viewer-controls .control-button{width:100%}}
/** [CODEX - 2026-06-19 01:49:00]
 * Icon surfaces share the desktop Install LinkOS radius so app, drive, and file glyphs feel like one OS family.
 */
.app-icon,.dock-icon,.mini-app-icon,.desktop-os-icon,.desktop-drive-icon,.file-visual,.file-kind.file-visual,.file-icon-art.file-visual,.browser-start-favicon{border-radius:.65rem!important}
/** [CODEX - 2026-06-19 12:04:00]
 * Desktop-mounted drives show the same drop affordance as File Manager folder targets.
 */
.desktop-icon.is-file-drop-target{background:color-mix(in srgb,var(--accent) 24%,rgba(255,255,255,.22));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 58%,rgba(255,255,255,.45));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
/** [CODEX - 2026-06-19 13:06:00]
 * Cut File Manager items stay visible but semi-transparent like native desktop file managers.
 */
.file-row.is-cut,.file-icon-tile.is-cut{opacity:.46;filter:saturate(.72)}.file-row.is-cut:hover,.file-icon-tile.is-cut:hover{opacity:.62}
/** [CODEX - 2026-06-19 13:52:00]
 * Mounted folders keep the folder glyph and gain a cloud badge; remote mount roots render as drive glyphs in Files.
 */
.file-visual.is-mounted-folder::after{content:"";position:absolute;left:auto;right:.12rem;bottom:.08rem;z-index:4;width:.88rem;height:.48rem;border-radius:.42rem;background:rgba(255,255,255,.94);box-shadow:-.22rem .03rem 0 -.02rem rgba(255,255,255,.94),.2rem .04rem 0 -.03rem rgba(255,255,255,.94),0 0 0 1px color-mix(in srgb,var(--accent) 28%,rgba(15,23,42,.12)),0 .12rem .28rem rgba(15,23,42,.2);transform:none}.file-kind.file-visual.is-mounted-folder::after{right:-.02rem;bottom:-.02rem;transform:scale(.72);transform-origin:right bottom}.file-visual.is-drive::after{display:none}.file-visual.is-drive .file-visual-glyph::before{content:"";position:absolute;left:18%;right:18%;bottom:20%;height:28%;border-radius:.18rem .18rem .42rem .42rem;background:rgba(255,255,255,.92);box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--accent) 32%,rgba(15,23,42,.12))}.file-visual.is-drive .file-visual-glyph::after{content:"";position:absolute;left:22%;right:22%;top:24%;height:34%;border-radius:.28rem .28rem .08rem .08rem;background:rgba(255,255,255,.72);transform:perspective(2.5rem) rotateX(22deg);transform-origin:bottom;box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}.file-visual.is-drive{border-radius:.65rem}.file-visual.is-drive .file-visual-glyph{display:block}.desktop-mounted-folder-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem}
/** [CODEX - 2026-06-19 13:52:00]
 * Active versioned CSS also needs the desktop drive glyph used by mounted remote drives.
 */
.desktop-drive-icon{position:relative;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.62rem;background:linear-gradient(145deg,var(--accent),var(--accent-2));box-shadow:0 12px 28px rgba(15,23,42,.28),inset 0 1px 0 rgba(255,255,255,.42)}.desktop-drive-icon::before{content:"";position:absolute;left:.42rem;right:.42rem;bottom:.48rem;height:.72rem;border-radius:.18rem .18rem .32rem .32rem;background:rgba(255,255,255,.92);box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--accent) 32%,rgba(15,23,42,.12))}.desktop-drive-icon::after{content:"";position:absolute;left:.52rem;right:.52rem;top:.58rem;height:.82rem;border-radius:.22rem .22rem .08rem .08rem;background:rgba(255,255,255,.74);transform:perspective(2.4rem) rotateX(22deg);transform-origin:bottom;box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}.desktop-drive-icon span{position:absolute;right:.58rem;bottom:.66rem;z-index:2;width:.34rem;height:.34rem;border-radius:999px;background:var(--accent);box-shadow:-.48rem 0 0 color-mix(in srgb,var(--accent-2) 82%,#fff 18%)}body.is-dark .desktop-drive-icon{box-shadow:0 12px 28px rgba(2,6,23,.42),inset 0 1px 0 rgba(255,255,255,.18)}
/** [CODEX - 2026-06-20 10:36:00] Text Editor and Image Viewer use flush native app surfaces with docked toolbars/status bars. */
.os-window[data-app-id=editor] .window-content,.os-window[data-app-id=imageviewer] .window-content{padding:0;overflow:hidden}.os-window.is-maximized[data-app-id=editor] .window-content,.os-window.is-maximized[data-app-id=imageviewer] .window-content{padding:0}.editor-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;background:rgba(255,255,255,.26)}.editor-shell>.flex:first-child{min-height:2.85rem;border-bottom:1px solid rgba(148,163,184,.22);background:rgba(255,255,255,.5);padding:.45rem .65rem}.editor-area{height:100%;min-height:0;resize:none}.code-editor{min-height:0;border:0;border-radius:0}.editor-shell .code-editor.mt-4{margin-top:0}.editor-status{min-height:1.8rem;background:rgba(255,255,255,.5)}body.is-dark .editor-shell{background:rgba(15,23,42,.34)}body.is-dark .editor-shell>.flex:first-child,body.is-dark .editor-status{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.58)}.image-viewer-app{gap:0;background:rgba(255,255,255,.18)}.image-viewer-app:fullscreen,.image-viewer-app.is-app-fullscreen{padding:0}.image-viewer-toolbar,.image-viewer-status{border:0 solid rgba(148,163,184,.22);border-radius:0;background:rgba(255,255,255,.5);padding:.45rem .65rem}.image-viewer-toolbar{min-height:2.85rem;border-bottom-width:1px}.image-viewer-status{min-height:1.8rem;border-top-width:1px}.image-viewer-stage{border:0;border-radius:0}body.is-dark .image-viewer-app{background:rgba(15,23,42,.34)}body.is-dark .image-viewer-toolbar,body.is-dark .image-viewer-status{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.58)}body.is-dark .image-viewer-stage{background:radial-gradient(circle at 50% 35%,rgba(30,41,59,.52),rgba(2,6,23,.48) 45%,rgba(2,6,23,.7))}@media (max-width:760px){.image-viewer-toolbar{align-items:center;flex-direction:row;flex-wrap:wrap}.image-viewer-controls{display:flex;flex-wrap:wrap}.image-viewer-controls .control-button{width:2.1rem}}
/** [CODEX - 2026-06-20 10:58:00] Empty top-bar space becomes draggable title-bar surface while maximized window chrome is merged. */
.status-bar.is-window-drag-surface{cursor:grab}.status-bar.is-window-drag-surface button,.status-bar.is-window-drag-surface input,.status-bar.is-window-drag-surface .menu-button,.status-bar.is-window-drag-surface .menu-app-name,.status-bar.is-window-drag-surface .sync-status,.status-bar.is-window-drag-surface .topbar-window-controls{cursor:pointer}
/** [CODEX - 2026-06-21 18:48:00] Larger taskbar app icons keep the dock readable without changing other app icon surfaces. */.taskbar-app{min-width:2.75rem;height:2.65rem;padding:0 .5rem}.taskbar-app .mini-app-icon{width:2.05rem;height:2.05rem;border-radius:.62rem;font-size:.72rem}.taskbar-app.has-label{padding:0 .72rem}
/** [CODEX - 2026-06-21 19:04:00] Terminal uses the full window content surface without the default app padding. */.os-window[data-app-id=terminal] .window-content{padding:0;overflow:hidden}.os-window[data-app-id=terminal] .terminal-app{border-radius:0}
/** [CODEX - 2026-06-21 19:32:00] Cloudesk uses slim OS-owned scrollbars instead of host browser chrome. */*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 46%,rgba(100,116,139,.72)) transparent}*::-webkit-scrollbar{width:.58rem;height:.58rem}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{border:.16rem solid transparent;border-radius:999px;background-clip:content-box;background-color:color-mix(in srgb,var(--accent) 46%,rgba(100,116,139,.72))}*::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--accent) 66%,rgba(71,85,105,.82))}*::-webkit-scrollbar-corner{background:transparent}body.is-dark *{scrollbar-color:color-mix(in srgb,var(--accent) 48%,rgba(148,163,184,.64)) transparent}body.is-dark *::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--accent) 48%,rgba(148,163,184,.64))}body.is-dark *::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--accent) 68%,rgba(203,213,225,.72))}

/** [CODEX - 2026-06-21 20:18:00] PDF Viewer uses full-window app chrome and lets the browser PDF renderer occupy the document surface. */.os-window[data-app-id=pdfviewer] .window-content{padding:0;overflow:hidden}.os-window.is-maximized[data-app-id=pdfviewer] .window-content{padding:0}.app-pdfviewer{background:linear-gradient(135deg,#ef4444,#7f1d1d);color:#fff7ed}.pdf-viewer-app{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;background:rgba(255,255,255,.18)}.pdf-viewer-app:fullscreen,.pdf-viewer-app.is-app-fullscreen{width:100vw;height:100vh;background:#0f172a}.pdf-viewer-app.is-app-fullscreen{position:fixed;inset:0;z-index:10020}.pdf-viewer-toolbar,.pdf-viewer-status{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:0 solid rgba(148,163,184,.22);background:rgba(255,255,255,.5);padding:.45rem .65rem}.pdf-viewer-toolbar{min-height:2.85rem;border-bottom-width:1px}.pdf-viewer-status{min-height:1.8rem;border-top-width:1px;color:#64748b;font-size:.78rem}.pdf-viewer-file{display:grid;min-width:0;gap:.15rem}.pdf-viewer-file strong,.pdf-viewer-file small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-viewer-file small{color:#64748b;font-size:.78rem}.pdf-viewer-controls{display:flex;flex:0 0 auto;align-items:center;gap:.35rem}.pdf-viewer-controls .control-button{display:grid;place-items:center;width:2.1rem;height:2.1rem;min-width:0;padding:0}.pdf-viewer-controls svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.pdf-viewer-stage{display:grid;min-height:0;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.34),rgba(15,23,42,.08) 44%,rgba(15,23,42,.18));overflow:hidden}.pdf-viewer-frame{display:block;width:100%;height:100%;min-height:0;border:0;background:#fff}body.is-dark .pdf-viewer-app{background:rgba(15,23,42,.34)}body.is-dark .pdf-viewer-toolbar,body.is-dark .pdf-viewer-status{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.58)}body.is-dark .pdf-viewer-file small,body.is-dark .pdf-viewer-status{color:#94a3b8}body.is-dark .pdf-viewer-stage{background:radial-gradient(circle at 50% 35%,rgba(30,41,59,.52),rgba(2,6,23,.48) 45%,rgba(2,6,23,.7))}@media (max-width:760px){.pdf-viewer-toolbar{align-items:center;flex-wrap:wrap}}
/** [CODEX - 2026-06-22 05:30:00] Settings user preview and search remain fixed together above the section list. */.settings-nav-top{position:sticky;top:0;z-index:5;display:grid;gap:.55rem;margin-bottom:.55rem;padding:.2rem .15rem .6rem 0;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.76) 72%,rgba(255,255,255,0));backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}.settings-user-preview{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;border:1px solid rgba(255,255,255,.52);border-radius:.85rem;background:rgba(255,255,255,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.58),0 .75rem 1.6rem rgba(15,23,42,.08);padding:.68rem}.settings-user-avatar{display:grid;place-items:center;width:2.55rem;height:2.55rem;border-radius:.72rem;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-size:.9rem;font-weight:800;letter-spacing:0;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.28)}.settings-user-avatar img{width:100%;height:100%;object-fit:cover}.settings-user-copy{display:grid;gap:.12rem;min-width:0}.settings-user-copy strong,.settings-user-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-user-copy strong{font-size:.9rem}.settings-user-copy small{color:#64748b;font-size:.72rem}.settings-search{position:relative;top:auto;z-index:auto;display:block;margin-bottom:0;padding:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}body.is-dark .settings-nav-top{background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(15,23,42,.78) 72%,rgba(15,23,42,0))}body.is-dark .settings-user-preview{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 .75rem 1.6rem rgba(2,6,23,.22)}body.is-dark .settings-user-copy small{color:#94a3b8}@media (max-width:760px){.settings-nav-top{position:static;min-width:13rem;padding:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}}

/** [CODEX - 2026-06-21 22:32:00]
 * Generated square wallpapers sit beneath the existing gradient/glass treatment and use cover-cropping across all device shapes.
 */
:root{--desktop-wallpaper:none}.desktop-wallpaper{background-image:linear-gradient(115deg,rgba(255,255,255,.08),rgba(255,255,255,0) 34%),var(--desktop-wallpaper),radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--accent) 52%,transparent),transparent 30%),radial-gradient(circle at 76% 12%,color-mix(in srgb,var(--accent-2) 46%,transparent),transparent 28%),radial-gradient(circle at 56% 78%,rgba(91,125,255,.32),transparent 34%),linear-gradient(135deg,var(--wallpaper-a) 0%,var(--wallpaper-b) 42%,var(--wallpaper-c) 100%);background-position:center,center,center,center,center,center;background-size:cover,cover,auto,auto,auto,cover;background-repeat:no-repeat}.wallpaper-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.75rem;max-width:42rem}.wallpaper-choice{display:grid;gap:.45rem;min-width:0;border:1px solid rgba(255,255,255,.5);border-radius:.75rem;background:rgba(255,255,255,.5);padding:.5rem;text-align:left;box-shadow:inset 0 1px 0 rgba(255,255,255,.5);transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.wallpaper-choice:hover,.wallpaper-choice:focus-visible{transform:translateY(-1px);background:rgba(255,255,255,.72);box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 14%,transparent),inset 0 1px 0 rgba(255,255,255,.58)}.wallpaper-choice.is-active{border-color:#fff;outline:2px solid var(--accent);box-shadow:0 12px 30px color-mix(in srgb,var(--accent) 20%,transparent)}.wallpaper-thumb{display:block;width:100%;aspect-ratio:1 / 1;border-radius:.55rem;background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px rgba(255,255,255,.34)}.wallpaper-choice strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}body.is-dark .wallpaper-choice{border-color:rgba(148,163,184,.24);background:rgba(15,23,42,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}body.is-dark .wallpaper-choice:hover,body.is-dark .wallpaper-choice:focus-visible{background:rgba(30,41,59,.82);box-shadow:0 12px 28px rgba(2,6,23,.28),inset 0 1px 0 rgba(255,255,255,.08)}body.is-dark .wallpaper-thumb{box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}

/** [CODEX - 2026-06-21 23:42:00]
 * Cloudesk app design language primitives: translucent blurred chrome panels sit beside or above a solid app canvas.
 */
:root{--app-surface-solid:#f8fafc;--app-surface-solid-rgb:248,250,252;--app-chrome-blur:rgba(255,255,255,.58);--app-chrome-border:rgba(148,163,184,.22);--app-chrome-shadow:inset 0 1px 0 rgba(255,255,255,.54)}body.is-dark{--app-surface-solid:#0f172a;--app-surface-solid-rgb:15,23,42;--app-chrome-blur:rgba(15,23,42,.62);--app-chrome-border:rgba(148,163,184,.24);--app-chrome-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.app-layout-sidebar,.app-layout-toolbar{height:100%;min-height:0;background:var(--app-surface-solid);color:inherit}.app-layout-sidebar{display:grid;grid-template-columns:minmax(11rem,14rem) minmax(0,1fr);overflow:hidden}.app-layout-toolbar{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.app-chrome-panel,.app-side-panel,.app-top-panel,.app-bottom-panel{border-color:var(--app-chrome-border);background:var(--app-chrome-blur);box-shadow:var(--app-chrome-shadow);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}.app-side-panel{min-height:0;border-right:1px solid var(--app-chrome-border);overflow:auto}.app-main-surface,.app-content-surface{min-width:0;min-height:0;background:var(--app-surface-solid);overflow:auto}.app-top-panel{border-bottom:1px solid var(--app-chrome-border)}.app-bottom-panel{border-top:1px solid var(--app-chrome-border)}.os-window[data-app-id=files] .window-content{padding:0;overflow:hidden}.os-window[data-app-id=files] .file-manager{grid-template-columns:minmax(11rem,14rem) minmax(0,1fr);gap:0;height:100%;min-height:0;background:var(--app-surface-solid)}.os-window[data-app-id=files] .file-sidebar.app-side-panel{min-height:0;overflow:auto;border-right:1px solid var(--app-chrome-border);background:var(--app-chrome-blur);box-shadow:var(--app-chrome-shadow);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);padding:.85rem}.os-window[data-app-id=files] .file-main{min-height:0;background:var(--app-surface-solid);padding:.85rem;overflow:auto}@media (max-width:760px){.app-layout-sidebar,.os-window[data-app-id=files] .file-manager{grid-template-columns:1fr}.app-side-panel,.os-window[data-app-id=files] .file-sidebar.app-side-panel{border-right:0;border-bottom:1px solid var(--app-chrome-border)}}

/** [CODEX - 2026-06-21 23:58:00]
 * Recycle Bin receives its own desktop icon so deleted files are discoverable without opening Files first.
 */
.desktop-trash-icon{position:relative;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.62rem;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 82%,#fff 18%),var(--accent-2));box-shadow:0 12px 28px rgba(15,23,42,.25),inset 0 1px 0 rgba(255,255,255,.42)}.desktop-trash-icon::before{content:"";position:absolute;left:.68rem;right:.68rem;top:.46rem;height:.22rem;border-radius:.16rem;background:rgba(255,255,255,.9);box-shadow:0 .3rem 0 -.08rem rgba(255,255,255,.72)}.desktop-trash-icon::after{content:"";position:absolute;left:.74rem;right:.74rem;top:.93rem;bottom:.5rem;border-radius:.12rem .12rem .32rem .32rem;background:rgba(255,255,255,.84);box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--accent) 32%,rgba(15,23,42,.12))}.desktop-trash-icon span:first-child{position:absolute;left:1rem;top:1.08rem;z-index:2;width:.11rem;height:.76rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 48%,#334155 52%);box-shadow:.32rem 0 0 color-mix(in srgb,var(--accent) 48%,#334155 52%)}.desktop-trash-icon span:last-child{position:absolute;left:.94rem;right:.94rem;top:.32rem;z-index:2;height:.16rem;border-radius:.16rem;background:rgba(255,255,255,.94)}body.is-dark .desktop-trash-icon{box-shadow:0 12px 28px rgba(2,6,23,.42),inset 0 1px 0 rgba(255,255,255,.18)}

/** [CODEX - 2026-06-21 23:58:00]
 * File Manager shell enforces the sidebar design contract: blurred navigation chrome beside a solid work surface.
 */
.os-window[data-app-id=files] .window-content{padding:0;overflow:hidden}.os-window[data-app-id=files] .file-manager.app-layout-sidebar{display:grid;grid-template-columns:minmax(11rem,14rem) minmax(0,1fr);gap:0;height:100%;min-height:0;background:var(--app-surface-solid);overflow:hidden}.os-window[data-app-id=files] .file-sidebar.app-side-panel{min-height:0;overflow:auto;border-right:1px solid var(--app-chrome-border);background:var(--app-chrome-blur);box-shadow:var(--app-chrome-shadow);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);padding:.85rem}.os-window[data-app-id=files] .file-main.app-main-surface{min-width:0;min-height:0;background:var(--app-surface-solid);padding:.85rem;overflow:auto}@media (max-width:760px){.os-window[data-app-id=files] .file-manager.app-layout-sidebar{grid-template-columns:1fr}.os-window[data-app-id=files] .file-sidebar.app-side-panel{border-right:0;border-bottom:1px solid var(--app-chrome-border)}}
/** [CODEX - 2026-06-21 23:58:00] * Light mode needs visible structure on translucent UI surfaces, so controls do not rely on wallpaper blur alone. */:root {--ui-light-border: rgba(100,116,139,.28);--ui-light-border-strong: rgba(71,85,105,.34);--ui-light-border-hover: color-mix(in srgb,var(--accent) 38%,rgba(71,85,105,.38));}body:not(.is-dark):not(.is-high-contrast) .glass-panel,body:not(.is-dark):not(.is-high-contrast) .os-window,body:not(.is-dark):not(.is-high-contrast) .status-bar,body:not(.is-dark):not(.is-high-contrast) .taskbar,body:not(.is-dark):not(.is-high-contrast) .mobile-nav,body:not(.is-dark):not(.is-high-contrast) .mobile-launcher-handle {border-color: var(--ui-light-border-strong);}body:not(.is-dark):not(.is-high-contrast) .control-button,body:not(.is-dark):not(.is-high-contrast) .field-control,body:not(.is-dark):not(.is-high-contrast) .content-row,body:not(.is-dark):not(.is-high-contrast) .settings-switch-row,body:not(.is-dark):not(.is-high-contrast) .settings-select-row,body:not(.is-dark):not(.is-high-contrast) .settings-section-card,body:not(.is-dark):not(.is-high-contrast) .settings-user-preview,body:not(.is-dark):not(.is-high-contrast) .store-card,body:not(.is-dark):not(.is-high-contrast) .store-detail,body:not(.is-dark):not(.is-high-contrast) .notification-card,body:not(.is-dark):not(.is-high-contrast) .launcher-item,body:not(.is-dark):not(.is-high-contrast) .taskbar-preview,body:not(.is-dark):not(.is-high-contrast) .system-select,body:not(.is-dark):not(.is-high-contrast) .system-select-menu,body:not(.is-dark):not(.is-high-contrast) .context-menu,body:not(.is-dark):not(.is-high-contrast) .sync-status-button,body:not(.is-dark):not(.is-high-contrast) .sync-status-panel,body:not(.is-dark):not(.is-high-contrast) .file-ribbon,body:not(.is-dark):not(.is-high-contrast) .window-tab,body:not(.is-dark):not(.is-high-contrast) .file-place,body:not(.is-dark):not(.is-high-contrast) .file-table,body:not(.is-dark):not(.is-high-contrast) .file-row,body:not(.is-dark):not(.is-high-contrast) .file-icon-tile,body:not(.is-dark):not(.is-high-contrast) .wallpaper-choice,body:not(.is-dark):not(.is-high-contrast) .theme-swatch {border-color: var(--ui-light-border);}body:not(.is-dark):not(.is-high-contrast) .control-button:hover,body:not(.is-dark):not(.is-high-contrast) .control-button:focus-visible,body:not(.is-dark):not(.is-high-contrast) .field-control:focus,body:not(.is-dark):not(.is-high-contrast) .settings-section-card:hover,body:not(.is-dark):not(.is-high-contrast) .settings-section-card:focus-visible,body:not(.is-dark):not(.is-high-contrast) .launcher-item:hover,body:not(.is-dark):not(.is-high-contrast) .launcher-item:focus-visible,body:not(.is-dark):not(.is-high-contrast) .file-row:hover,body:not(.is-dark):not(.is-high-contrast) .file-row:focus-visible,body:not(.is-dark):not(.is-high-contrast) .file-icon-tile:hover,body:not(.is-dark):not(.is-high-contrast) .file-icon-tile:focus-visible,body:not(.is-dark):not(.is-high-contrast) .system-select:hover,body:not(.is-dark):not(.is-high-contrast) .system-select:focus-visible {border-color: var(--ui-light-border-hover);}
/** [CODEX - 2026-06-22 00:24:00] * File Manager follows the OS reference language:blurred navigation rail,solid work canvas,compact native rows. */ .os-window[data-app-id=files] .file-sidebar.app-side-panel{display:grid;align-content:start;grid-auto-rows:max-content;gap:.7rem;padding:.72rem .55rem;background:linear-gradient(180deg,rgba(255,255,255,.68),rgba(255,255,255,.46)),var(--app-chrome-blur)}.os-window[data-app-id=files] .file-main{padding:.75rem 1rem 1rem}.file-sidebar-section,.file-sidebar-actions{display:grid;gap:.22rem}.file-sidebar-actions{border-top:1px solid var(--app-chrome-border);padding-top:.65rem}.os-window[data-app-id=files] .file-place{display:flex;align-items:center;gap:.55rem;min-height:2rem;border-color:transparent;border-radius:.38rem;background:transparent;padding:.42rem .55rem;color:#334155;font-size:.82rem;font-weight:650}.os-window[data-app-id=files] .file-place>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.os-window[data-app-id=files] .file-place:hover,.os-window[data-app-id=files] .file-place:focus-visible{border-color:rgba(148,163,184,.18);background:rgba(255,255,255,.56)}.os-window[data-app-id=files] .file-place.is-active{border-color:rgba(255,255,255,.72);background:rgba(255,255,255,.86);box-shadow:inset -.18rem 0 0 var(--accent);color:#0f172a}.file-place-action{color:#475569}.os-window[data-app-id=files] .file-place:not(.file-place-library-item) .file-place-icon{width:1.1rem;height:1.1rem;border-radius:0;background:transparent;box-shadow:none;color:color-mix(in srgb,var(--accent) 76%,#334155)}.os-window[data-app-id=files] .file-place:not(.file-place-library-item) .file-place-icon-system{background:currentColor}.os-window[data-app-id=files] .file-place:not(.file-place-library-item) .file-place-icon span,.os-window[data-app-id=files] .file-place:not(.file-place-library-item) .file-place-icon::before,.os-window[data-app-id=files] .file-place:not(.file-place-library-item) .file-place-icon::after{background:currentColor;border-color:currentColor}.file-place-icon-trash span{left:.28rem;right:.28rem;bottom:.13rem;height:.72rem;border-radius:.08rem}.file-place-icon-trash::before{left:.22rem;top:.16rem;width:.66rem;height:.13rem;border-radius:999px}.os-window[data-app-id=files] .file-library-group{border:0;border-radius:0;background:transparent;padding:.05rem 0 0}.os-window[data-app-id=files] .file-library-title{padding:.25rem .55rem .15rem;letter-spacing:0;text-transform:none}.os-window[data-app-id=files] .window-tabs{margin:-.1rem 0 .35rem}.os-window[data-app-id=files] .file-ribbon{border-width:0 0 1px;border-color:rgba(148,163,184,.2);border-radius:0;background:transparent;margin-bottom:.75rem;padding:.25rem 0 .65rem}.os-window[data-app-id=files] .file-ribbon-groups{gap:.7rem 1rem}.os-window[data-app-id=files] .file-ribbon-group{min-width:auto;border-right:0;padding-right:0}.os-window[data-app-id=files] .file-table{border-color:rgba(148,163,184,.22);background:transparent}.os-window[data-app-id=files] .file-table-head{background:rgba(248,250,252,.82)}.os-window[data-app-id=files] .file-row:hover{background:rgba(248,250,252,.88)}body.is-dark .os-window[data-app-id=files] .file-sidebar.app-side-panel{background:linear-gradient(180deg,rgba(15,23,42,.68),rgba(15,23,42,.52)),var(--app-chrome-blur)}body.is-dark .os-window[data-app-id=files] .file-place{color:#cbd5e1}body.is-dark .os-window[data-app-id=files] .file-place:hover,body.is-dark .os-window[data-app-id=files] .file-place:focus-visible,body.is-dark .os-window[data-app-id=files] .file-place.is-active{border-color:rgba(148,163,184,.2);background:rgba(30,41,59,.64);color:#f8fafc}body.is-dark .os-window[data-app-id=files] .file-table-head,body.is-dark .os-window[data-app-id=files] .file-row:hover{background:rgba(15,23,42,.58)}
/** [CODEX - 2026-06-22 10:34:00] * The no-wallpaper swatch previews the theme gradient without implying a bitmap background. */ .wallpaper-thumb.is-no-wallpaper{position:relative}.wallpaper-thumb.is-no-wallpaper::after{content:"";position:absolute;inset:.55rem;border:2px solid rgba(255,255,255,.74);border-radius:.45rem;background:linear-gradient(135deg,transparent 45%,rgba(255,255,255,.78) 46%,rgba(255,255,255,.78) 54%,transparent 55%);box-shadow:0 0 0 1px rgba(15,23,42,.12)}
/* Cloudesk File Manager reference polish: blurred navigation rail, solid workspace, flatter native controls. */
.os-window[data-app-id=files] .file-manager{background:transparent}.os-window[data-app-id=files] .file-sidebar.app-side-panel{border-right-color:color-mix(in srgb,var(--app-chrome-border) 72%,transparent);background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,.14)),rgba(255,255,255,.18);box-shadow:inset -1px 0 0 rgba(255,255,255,.28),inset 1px 0 0 rgba(255,255,255,.22);backdrop-filter:blur(28px) saturate(165%);-webkit-backdrop-filter:blur(28px) saturate(165%)}.os-window[data-app-id=files] .file-main{background:var(--app-surface-solid);box-shadow:inset 1px 0 0 rgba(148,163,184,.12)}.os-window[data-app-id=files] .file-sidebar-section,.os-window[data-app-id=files] .file-sidebar-actions,.os-window[data-app-id=files] .file-library-group{border:0;border-radius:0;background:transparent;box-shadow:none;padding-left:0;padding-right:0}.os-window[data-app-id=files] .file-place{border:0;box-shadow:none}.os-window[data-app-id=files] .file-place:hover,.os-window[data-app-id=files] .file-place:focus-visible{background:rgba(255,255,255,.48);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}.os-window[data-app-id=files] .file-place.is-active{background:rgba(255,255,255,.72);box-shadow:inset .18rem 0 0 var(--accent),inset 0 0 0 1px rgba(255,255,255,.42)}.os-window[data-app-id=files] .file-ribbon,.os-window[data-app-id=files] .file-setting-row{border-width:0 0 1px;border-color:rgba(148,163,184,.18);border-radius:0;background:transparent;box-shadow:none}.os-window[data-app-id=files] .file-ribbon{margin-bottom:.45rem;padding:.15rem 0 .6rem}.os-window[data-app-id=files] .file-setting-row{min-height:0;margin:0 0 .6rem;padding:.42rem 0 .55rem}.os-window[data-app-id=files] .file-table{border-color:rgba(148,163,184,.2);border-radius:.55rem;background:var(--app-surface-solid)}body.is-dark .os-window[data-app-id=files] .file-sidebar.app-side-panel{background:linear-gradient(180deg,rgba(15,23,42,.34),rgba(15,23,42,.16)),rgba(15,23,42,.18);box-shadow:inset -1px 0 0 rgba(148,163,184,.16),inset 1px 0 0 rgba(255,255,255,.04)}body.is-dark .os-window[data-app-id=files] .file-main,body.is-dark .os-window[data-app-id=files] .file-table{background:var(--app-surface-solid)}body.is-dark .os-window[data-app-id=files] .file-place:hover,body.is-dark .os-window[data-app-id=files] .file-place:focus-visible{background:rgba(30,41,59,.52);box-shadow:inset 0 0 0 1px rgba(148,163,184,.16)}body.is-dark .os-window[data-app-id=files] .file-place.is-active{background:rgba(30,41,59,.72);box-shadow:inset .18rem 0 0 var(--accent),inset 0 0 0 1px rgba(148,163,184,.18)}
/* Pliant typography calibration: slightly larger top chrome, lighter dense UI labels. */
:root{--ui-font-weight-normal:400;--ui-font-weight-medium:500;--ui-font-weight-strong:600;--ui-font-weight-heavy:700}.status-bar,.menu-bar,.menu-app-name,.menu-button,.system-text{font-size:.78rem;font-weight:var(--ui-font-weight-medium);line-height:1.08rem}.menu-app-name{font-weight:var(--ui-font-weight-strong)}.context-menu-item,.system-select,.notification-source-trigger,.notification-source-option,.taskbar-app,.file-place,.settings-nav-item,.launcher-item,.control-button,.field-control{font-weight:var(--ui-font-weight-medium)}.window-title,.preview-title,.launcher-item strong,.file-name-cell strong,.settings-section-card strong,.content-row strong{font-weight:var(--ui-font-weight-strong)}.launcher-section h3,.file-ribbon-group>span,.file-library-title,.settings-section-card small,.notification-card small{font-weight:var(--ui-font-weight-strong)}.taskbar-app,.context-menu-item{font-size:.84rem}.notification-badge,.preview-close,.window-title-favicon,.browser-start-card b{font-weight:var(--ui-font-weight-heavy)}
.show-desktop-button{position:relative;align-self:stretch;width:.72rem;min-width:.72rem;border-left:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.18);box-shadow:inset 1px 0 0 rgba(255,255,255,.18);cursor:pointer;transition:background .14s ease,box-shadow .14s ease,border-color .14s ease}.show-desktop-button span{position:absolute;inset:.42rem .2rem;border-radius:999px;background:currentColor;opacity:.28}.show-desktop-button:hover,.show-desktop-button:focus-visible,.show-desktop-button.is-active{border-left-color:color-mix(in srgb,var(--accent) 42%,rgba(255,255,255,.42));background:color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.22));box-shadow:inset 1px 0 0 color-mix(in srgb,var(--accent) 44%,rgba(255,255,255,.3)),0 0 18px color-mix(in srgb,var(--accent) 20%,transparent);outline:none}body.is-dark .show-desktop-button{border-left-color:rgba(148,163,184,.28);background:rgba(15,23,42,.28);box-shadow:inset 1px 0 0 rgba(255,255,255,.06)}body.is-dark .show-desktop-button:hover,body.is-dark .show-desktop-button:focus-visible,body.is-dark .show-desktop-button.is-active{background:color-mix(in srgb,var(--accent) 24%,rgba(15,23,42,.42))}
/* File Manager glass rail must stay visibly translucent: the window/content behind it is transparent, while only the main pane is solid. */.os-window[data-app-id=files]{background:rgba(255,255,255,.2);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}.os-window[data-app-id=files] .window-content,.os-window[data-app-id=files] .file-manager.app-layout-sidebar{background:transparent}.os-window[data-app-id=files] .file-sidebar.app-side-panel{background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.08)),rgba(255,255,255,.12);box-shadow:inset -1px 0 0 rgba(255,255,255,.24),inset 1px 0 0 rgba(255,255,255,.18);backdrop-filter:blur(34px) saturate(175%);-webkit-backdrop-filter:blur(34px) saturate(175%)}.os-window[data-app-id=files] .file-main.app-main-surface{background:var(--app-surface-solid)}body.is-dark .os-window[data-app-id=files]{background:rgba(15,23,42,.18)}body.is-dark .os-window[data-app-id=files] .file-sidebar.app-side-panel{background:linear-gradient(180deg,rgba(15,23,42,.26),rgba(15,23,42,.08)),rgba(15,23,42,.12);box-shadow:inset -1px 0 0 rgba(148,163,184,.14),inset 1px 0 0 rgba(255,255,255,.04)}

/** [CODEX - 2026-06-22 16:03:00] Hover descriptions are reserved for icon-only controls and text that is visually truncated. */.system-tooltip{position:fixed;z-index:14000;max-width:min(22rem,calc(100vw - 1.25rem));border:1px solid rgba(255,255,255,.48);border-radius:.55rem;background:rgba(15,23,42,.86);box-shadow:0 14px 38px rgba(15,23,42,.26);color:#f8fafc;padding:.42rem .6rem;font-size:.74rem;font-weight:var(--ui-font-weight-medium);line-height:1.25;pointer-events:none;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);opacity:.98;transform:translateZ(0)}.system-tooltip.hidden{display:none}body.is-dark .system-tooltip{border-color:rgba(148,163,184,.28);background:rgba(2,6,23,.9);box-shadow:0 14px 38px rgba(0,0,0,.38)}
/** [CODEX - 2026-06-22 16:38:00] The Cloudesk launcher mark is unboxed, but it should occupy the full footprint of the previous square icon. */.linkos-launcher-icon{width:2.5rem;height:2.5rem;flex:0 0 2.5rem}.linkos-launcher-icon::after{inset:0}
/** [CODEX - 2026-06-22 16:55:00] The unboxed Cloudesk launcher mark uses the old theme-driven multi-gradient treatment, applied per bar. */.linkos-launcher-icon::after{display:none}.linkos-launcher-icon span{position:absolute;display:block;bottom:.18rem;border-radius:.68rem .68rem .16rem .16rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 .35rem .85rem color-mix(in srgb,var(--accent) 28%,transparent)}.linkos-launcher-icon span:nth-child(1){left:.08rem;width:.58rem;height:1.42rem;background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 92%,#fff),color-mix(in srgb,var(--accent) 68%,var(--accent-2)))}.linkos-launcher-icon span:nth-child(2){left:.74rem;width:.65rem;height:2.14rem;background:linear-gradient(150deg,color-mix(in srgb,var(--accent-2) 50%,#fff),color-mix(in srgb,var(--accent) 46%,var(--accent-2)))}.linkos-launcher-icon span:nth-child(3){left:1.49rem;width:.56rem;height:1.72rem;background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 42%,#fff),color-mix(in srgb,var(--accent-2) 72%,var(--accent)))}.linkos-launcher-icon span:nth-child(4){left:2.13rem;width:.45rem;height:1.12rem;background:linear-gradient(150deg,color-mix(in srgb,var(--accent-2) 38%,#fff),color-mix(in srgb,var(--accent-2) 86%,var(--accent)))}
/** [CODEX - 2026-06-22 17:10:00] Show Desktop is an edge target, so the taskbar keeps left padding but no right inset after it. */.taskbar{padding-right:0!important}
/** [CODEX - 2026-06-22 17:24:00] Taskbar icons should read as bare dock glyphs, without boxed button surfaces or extra icon padding. */.taskbar-start,.taskbar-app{border-color:transparent!important;background:transparent!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important}.taskbar-start{width:2.65rem;min-width:2.65rem}.taskbar-app{min-width:2.65rem;width:2.65rem;max-width:2.65rem}.taskbar-app.has-label{width:auto;max-width:12rem;padding-left:.32rem!important;padding-right:.52rem!important}.taskbar-start:hover,.taskbar-start:focus-visible,.taskbar-app:hover,.taskbar-app:focus-visible,.taskbar-app.is-active{background:transparent!important;box-shadow:0 .55rem 1.2rem color-mix(in srgb,var(--accent) 20%,transparent)!important}body.is-dark .taskbar-start,body.is-dark .taskbar-app{background:transparent!important;box-shadow:none!important}body.is-dark .taskbar-start:hover,body.is-dark .taskbar-start:focus-visible,body.is-dark .taskbar-app:hover,body.is-dark .taskbar-app:focus-visible,body.is-dark .taskbar-app.is-active{box-shadow:0 .55rem 1.25rem color-mix(in srgb,var(--accent) 26%,transparent)!important}
/** [CODEX - 2026-06-22 19:32:00] The OS menu mark needs its own framed launcher surface now that regular taskbar app icons are intentionally bare. */.taskbar-start{border-color:color-mix(in srgb,var(--accent) 28%,rgba(255,255,255,.46))!important;border-radius:.78rem;background:linear-gradient(135deg,rgba(255,255,255,.78),color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.62)))!important;box-shadow:0 .55rem 1.35rem color-mix(in srgb,var(--accent) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.64)!important}.taskbar-start:hover,.taskbar-start:focus-visible{background:linear-gradient(135deg,rgba(255,255,255,.88),color-mix(in srgb,var(--accent) 26%,rgba(255,255,255,.7)))!important;box-shadow:0 .7rem 1.55rem color-mix(in srgb,var(--accent) 30%,transparent),inset 0 1px 0 rgba(255,255,255,.72)!important}body.is-dark .taskbar-start{border-color:color-mix(in srgb,var(--accent) 34%,rgba(148,163,184,.3))!important;background:linear-gradient(135deg,rgba(15,23,42,.72),color-mix(in srgb,var(--accent) 20%,rgba(15,23,42,.58)))!important;box-shadow:0 .6rem 1.4rem color-mix(in srgb,var(--accent) 24%,transparent),inset 0 1px 0 rgba(255,255,255,.1)!important}body.is-dark .taskbar-start:hover,body.is-dark .taskbar-start:focus-visible{background:linear-gradient(135deg,rgba(30,41,59,.82),color-mix(in srgb,var(--accent) 28%,rgba(15,23,42,.66)))!important;box-shadow:0 .75rem 1.6rem color-mix(in srgb,var(--accent) 34%,transparent),inset 0 1px 0 rgba(255,255,255,.14)!important}
/** [CODEX - 2026-06-22 20:02:00] The boxed main menu logo must remain a true square inside the taskbar height. */.taskbar-start{aspect-ratio:1 / 1;height:2.45rem;max-height:calc(100% - .45rem);width:2.45rem!important;min-width:2.45rem!important;overflow:hidden}.taskbar-start .linkos-launcher-icon{width:1.86rem;height:1.86rem;flex:0 0 1.86rem}.taskbar-start .linkos-launcher-icon span{bottom:.12rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 .22rem .46rem color-mix(in srgb,var(--accent) 20%,transparent)}.taskbar-start .linkos-launcher-icon span:nth-child(1){left:.06rem;width:.43rem;height:1.06rem}.taskbar-start .linkos-launcher-icon span:nth-child(2){left:.56rem;width:.48rem;height:1.6rem}.taskbar-start .linkos-launcher-icon span:nth-child(3){left:1.12rem;width:.42rem;height:1.28rem}.taskbar-start .linkos-launcher-icon span:nth-child(4){left:1.6rem;width:.34rem;height:.84rem}
/** [CODEX - 2026-06-22 17:39:00] File Manager uses the same glass blur strength as the rest of Cloudesk windows. */.os-window[data-app-id=files],.os-window[data-app-id=files] .file-sidebar.app-side-panel{backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}
/** [CODEX - 2026-06-22 17:52:00] File Manager sidebar follows the app-side-panel blur contract, not the outer window glass blur. */.os-window[data-app-id=files] .file-sidebar.app-side-panel{backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}
/** [CODEX - 2026-06-22 18:08:00] File Manager sidebar transparency follows the shared app chrome token for consistent glass density. */.os-window[data-app-id=files] .file-sidebar.app-side-panel{background:var(--app-chrome-blur);box-shadow:var(--app-chrome-shadow),inset -1px 0 0 var(--app-chrome-border)}body.is-dark .os-window[data-app-id=files] .file-sidebar.app-side-panel{background:var(--app-chrome-blur);box-shadow:var(--app-chrome-shadow),inset -1px 0 0 var(--app-chrome-border)}
/** [CODEX - 2026-06-22 18:42:00] File Manager title chrome should match its translucent side panel instead of using the generic window header surface. */.os-window[data-app-id=files] .window-handle{border-bottom-color:var(--app-chrome-border);background:var(--app-chrome-blur);box-shadow:var(--app-chrome-shadow);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}body.is-dark .os-window[data-app-id=files] .window-handle{border-bottom-color:var(--app-chrome-border);background:var(--app-chrome-blur);box-shadow:var(--app-chrome-shadow)}
/** [CODEX - 2026-06-22 19:48:00] Top menu bar and taskbar use the same glass transparency as context menus. */.status-bar,.taskbar{background:rgba(255,255,255,.78);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%)}body.is-dark .status-bar,body.is-dark .taskbar{background:rgba(15,23,42,.9)}
/** [CODEX - 2026-06-22 21:04:00] Running app previews use one glass header layout in the taskbar and Open Apps surfaces. */.taskbar-preview,.switcher-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);align-items:stretch;gap:.55rem;min-height:7.2rem;background:rgba(255,255,255,.78);padding:.65rem;backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}.taskbar-preview{width:14rem}.switcher-card{width:min(14rem,100%);justify-self:center}.taskbar-preview.is-active,.switcher-card.is-selected{background:rgba(255,255,255,.86);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}.taskbar-preview .switcher-thumb,.switcher-card .switcher-thumb{grid-column:1 / -1;grid-row:2;width:100%;height:4.45rem}.taskbar-preview .preview-title,.switcher-card .preview-title{grid-column:1;grid-row:1;align-self:center;min-width:0}.taskbar-preview .preview-close,.switcher-card .preview-close{position:static;grid-column:2;grid-row:1;align-self:center;justify-self:end}body.is-dark .taskbar-preview,body.is-dark .switcher-card{background:rgba(15,23,42,.86);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}body.is-dark .taskbar-preview.is-active,body.is-dark .switcher-card.is-selected{background:rgba(15,23,42,.94)}
/** [CODEX - 2026-06-22 21:42:00] Files right pane has fixed ribbon chrome, scrollable content, and a bottom status bar. */.os-window[data-app-id=files] .file-main.app-main-surface{display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:0;overflow:hidden}.file-main-top{position:sticky;top:0;z-index:3;display:grid;gap:.45rem;padding:.65rem .9rem .55rem;background:rgba(255,255,255,.78);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}.file-main-content{min-height:0;overflow:auto;padding:.75rem 1rem 1rem}.file-status-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:1.85rem;padding:.35rem .85rem;color:#64748b;font-size:.76rem}.file-status-bar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem;margin-top:.18rem;color:#64748b;font-size:.78rem}.file-breadcrumb{border:1px solid transparent;border-radius:.38rem;background:transparent;padding:.18rem .32rem;color:inherit;font-weight:650;cursor:pointer}.file-breadcrumb:hover,.file-breadcrumb:focus-visible{border-color:rgba(148,163,184,.24);background:rgba(255,255,255,.62);color:#0f172a;outline:none}.file-breadcrumb-separator{color:#94a3b8;font-weight:700}.os-window[data-app-id=files] .window-tabs{margin:0}.os-window[data-app-id=files] .file-ribbon{margin-bottom:0;padding:.15rem 0 .55rem}body.is-dark .file-main-top{background:rgba(15,23,42,.72)}body.is-dark .file-status-bar,body.is-dark .file-breadcrumbs{color:#94a3b8}body.is-dark .file-breadcrumb:hover,body.is-dark .file-breadcrumb:focus-visible{border-color:rgba(148,163,184,.22);background:rgba(30,41,59,.72);color:#f8fafc}
/** [CODEX - 2026-06-22 22:23:00] Keep the notification source picker inside the notification center instead of letting it overflow the panel. */.notification-center:has(.notification-source-menu[open]){overflow:hidden}.notification-source-menu{min-width:0;width:min(12rem,100%);max-width:100%}.notification-source-options{position:static;right:auto;top:auto;width:100%;min-width:0;max-width:100%;max-height:min(12rem,34dvh);box-sizing:border-box;margin-top:.35rem;overflow:auto}.notification-source-option{white-space:normal;overflow-wrap:anywhere}
/** [CODEX - 2026-06-22 23:24:00] Mobile navigation uses icon-only OS controls, with labels kept visually hidden for accessibility. */.mobile-nav-button{display:grid;place-items:center;width:3.15rem;min-width:3.15rem;height:2.65rem;padding:0;color:#172033}.mobile-nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mobile-nav-icon{position:relative;display:block;width:1.35rem;height:1.35rem;color:inherit}.mobile-nav-back-icon::before{content:"";position:absolute;left:.2rem;top:.28rem;width:.78rem;height:.78rem;border-left:.16rem solid currentColor;border-bottom:.16rem solid currentColor;transform:rotate(45deg)}.mobile-nav-home-icon::before{content:"";position:absolute;left:.2rem;top:.5rem;width:.95rem;height:.72rem;border:.16rem solid currentColor;border-top:0;border-radius:.12rem}.mobile-nav-home-icon::after{content:"";position:absolute;left:.27rem;top:.18rem;width:.82rem;height:.82rem;border-left:.16rem solid currentColor;border-top:.16rem solid currentColor;transform:rotate(45deg)}.mobile-nav-switch-icon::before,.mobile-nav-switch-icon::after{content:"";position:absolute;width:.7rem;height:.7rem;border:.15rem solid currentColor;border-radius:.18rem}.mobile-nav-switch-icon::before{left:.12rem;top:.18rem}.mobile-nav-switch-icon::after{right:.12rem;bottom:.18rem;box-shadow:-.45rem -.45rem 0 -.16rem currentColor}body.is-dark .mobile-nav-button{color:#e5edf8}.launcher-panel .launcher-item,.launcher-panel .launcher-item.is-pinned,body:not(.is-dark):not(.is-high-contrast) .launcher-panel .launcher-item,body:not(.is-dark):not(.is-high-contrast) .launcher-panel .launcher-item.is-pinned,body.is-dark .launcher-panel .launcher-item,body.is-dark .launcher-panel .launcher-item.is-pinned{border-color:transparent!important;background:transparent!important;box-shadow:none!important}.launcher-panel .launcher-item:hover,.launcher-panel .launcher-item:focus-visible,body:not(.is-dark):not(.is-high-contrast) .launcher-panel .launcher-item:hover,body:not(.is-dark):not(.is-high-contrast) .launcher-panel .launcher-item:focus-visible,body.is-dark .launcher-panel .launcher-item:hover,body.is-dark .launcher-panel .launcher-item:focus-visible{border-color:transparent!important;background:color-mix(in srgb,var(--accent) 10%,transparent)!important;box-shadow:none!important}.window-title-tabs,.topbar-window-tabs{min-width:0;overflow:hidden}.window-title-tabs{flex:1 1 auto;margin-left:.6rem;margin-right:.6rem}.window-title-tabs .window-tabs,.topbar-window-tabs .window-tabs{align-items:center;overflow-x:auto}.window-title-tabs .window-tab,.topbar-window-tabs .window-tab{max-width:9.5rem;min-height:1.72rem;border:0!important;border-color:transparent!important;border-radius:.45rem;background:transparent!important;box-shadow:none!important;padding:.22rem .58rem;cursor:pointer}.topbar-window-tabs{flex:1 1 auto;max-width:min(36rem,42vw)}.window-title-tabs .window-tab.is-active,.topbar-window-tabs .window-tab.is-active,body:not(.is-dark):not(.is-high-contrast) .window-title-tabs .window-tab.is-active,body:not(.is-dark):not(.is-high-contrast) .topbar-window-tabs .window-tab.is-active{background:color-mix(in srgb,var(--accent) 14%,rgba(255,255,255,.55))!important}.window-title-tabs .window-tab:hover,.window-title-tabs .window-tab:focus-visible,.topbar-window-tabs .window-tab:hover,.topbar-window-tabs .window-tab:focus-visible{background:color-mix(in srgb,var(--accent) 10%,rgba(255,255,255,.42))!important}.window-tab.is-dragging{opacity:.55}.os-window[data-app-id=files] .file-ribbon{border-width:0!important;border-color:transparent!important}.os-window[data-app-id=files] .file-main-top{border-bottom:0!important}.os-window.is-topbar-merged .window-title-tabs{display:none!important}body.is-dark .window-title-tabs .window-tab.is-active,body.is-dark .topbar-window-tabs .window-tab.is-active,body.is-dark .window-title-tabs .window-tab:hover,body.is-dark .window-title-tabs .window-tab:focus-visible,body.is-dark .topbar-window-tabs .window-tab:hover,body.is-dark .topbar-window-tabs .window-tab:focus-visible{background:color-mix(in srgb,var(--accent) 18%,rgba(15,23,42,.44))!important}
/**
 * Standalone app icons keep the newer illustrated Cloudesk look while preserving the stable CSS bundle.
 */
.app-icon.is-icon-standalone,
.mini-app-icon.is-icon-standalone,
.window-title-app-icon.is-icon-standalone {
	position: relative;
	overflow: visible;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.app-icon.is-icon-standalone svg,
.mini-app-icon.is-icon-standalone svg,
.window-title-app-icon.is-icon-standalone svg {
	display: none;
}

.app-icon.is-icon-standalone::before,
.app-icon.is-icon-standalone::after,
.mini-app-icon.is-icon-standalone::before,
.mini-app-icon.is-icon-standalone::after,
.window-title-app-icon.is-icon-standalone::before,
.window-title-app-icon.is-icon-standalone::after {
	content: "";
	position: absolute;
	display: block;
}

.app-icon.has-image img,
.mini-app-icon.has-image img,
.window-title-app-icon.has-image img {
	position: relative;
	z-index: 1;
}

.app-icon.is-icon-maskable.has-image img,
.mini-app-icon.is-icon-maskable.has-image img,
.window-title-app-icon.is-icon-maskable.has-image img {
	width: 120% !important;
	height: 120% !important;
	margin: -10% !important;
	object-fit: cover !important;
}

.app-icon.has-image::before,
.app-icon.has-image::after,
.mini-app-icon.has-image::before,
.mini-app-icon.has-image::after,
.window-title-app-icon.has-image::before,
.window-title-app-icon.has-image::after {
	content: none !important;
	display: none !important;
}

.app-files.is-icon-standalone,
.app-browser.is-icon-standalone,
.app-mail.is-icon-standalone,
.app-store.is-icon-standalone,
.app-taskmanager.is-icon-standalone,
.app-terminal.is-icon-standalone,
.app-clock.is-icon-standalone,
.app-imageviewer.is-icon-standalone,
.app-pdfviewer.is-icon-standalone,
.app-notes.is-icon-standalone,
.app-calculator.is-icon-standalone {
	color: #fff;
}

.app-files.is-icon-standalone::before { inset: 22% 8% 13% 10%; border-radius: 18% 18% 22% 22%; background: linear-gradient(145deg,#73f4df,#2fbf9b 48%,#147c96); box-shadow: inset 0 1px 0 rgba(255,255,255,.58),0 .42rem .9rem rgba(15,23,42,.2); }
.app-files.is-icon-standalone::after { left: 16%; top: 14%; width: 42%; height: 24%; border-radius: 22% 24% 0 0; background: linear-gradient(145deg,#b7fff0,#53e6d1 48%,#2fbf9b); }
.app-browser.is-icon-standalone::before { inset: 8% 8% 10% 8%; border-radius: 50%; background: radial-gradient(circle at 34% 26%,rgba(240,253,250,.72),transparent 28%),linear-gradient(145deg,#38bdf8,#0ea5e9 42%,#22c55e); box-shadow: inset 0 1px 0 rgba(255,255,255,.58),0 .42rem .9rem rgba(15,23,42,.22); }
.app-browser.is-icon-standalone::after { left: 20%; right: 17%; top: 18%; bottom: 20%; border-radius: 50%; background: linear-gradient(90deg,transparent 0 calc(50% - .035rem),rgba(240,253,250,.86) calc(50% - .035rem) calc(50% + .035rem),transparent calc(50% + .035rem)),linear-gradient(transparent 0 calc(50% - .035rem),rgba(240,253,250,.88) calc(50% - .035rem) calc(50% + .035rem),transparent calc(50% + .035rem)),radial-gradient(ellipse 28% 78% at 50% 50%,transparent 0 62%,rgba(236,254,255,.76) 63% 66%,transparent 67%),radial-gradient(ellipse 58% 78% at 50% 50%,transparent 0 62%,rgba(236,254,255,.64) 63% 66%,transparent 67%),radial-gradient(ellipse 82% 23% at 50% 34%,transparent 0 62%,rgba(236,254,255,.7) 63% 67%,transparent 68%),radial-gradient(ellipse 82% 23% at 50% 66%,transparent 0 62%,rgba(236,254,255,.68) 63% 67%,transparent 68%),radial-gradient(circle at 50% 50%,transparent 0 66%,rgba(240,253,250,.72) 67% 71%,transparent 72%); opacity: .94; filter: drop-shadow(0 .06rem .1rem rgba(6,37,31,.2)); }
.app-notes.is-icon-standalone::before { inset: 4% 10% 4% 10%; border-radius: 12% 12% 18% 18%; background: linear-gradient(145deg,#4b5f86,#172033 58%,#0f172a); box-shadow: inset 0 1px 0 rgba(255,255,255,.36),0 .42rem .9rem rgba(15,23,42,.24); }
.app-notes.is-icon-standalone::after { inset: 24% 22%; background: linear-gradient(#e0f2fe,#e0f2fe) 0 0 / 100% 11% no-repeat,linear-gradient(#c7d2fe,#c7d2fe) 0 34% / 88% 11% no-repeat,linear-gradient(#93c5fd,#93c5fd) 0 68% / 66% 11% no-repeat; }
.app-calculator.is-icon-standalone::before { inset: 7% 16% 6% 18%; border-radius: 18% 18% 21% 21%; background: linear-gradient(145deg,#fbbf24,#f59e0b 42%,#ef4444); box-shadow: inset 0 1px 0 rgba(255,255,255,.54),0 .38rem .86rem rgba(15,23,42,.2); }
.app-calculator.is-icon-standalone::after { inset: 22% 29% 20% 31%; background: linear-gradient(#fff7ed,#fff7ed) 50% 0 / 100% 24% no-repeat,radial-gradient(circle,#fff7ed 58%,transparent 61%) 0 54% / 28% 24% no-repeat,radial-gradient(circle,#fff7ed 58%,transparent 61%) 50% 54% / 28% 24% no-repeat,radial-gradient(circle,#fff7ed 58%,transparent 61%) 100% 54% / 28% 24% no-repeat,radial-gradient(circle,#fff7ed 58%,transparent 61%) 0 100% / 28% 24% no-repeat,radial-gradient(circle,#fff7ed 58%,transparent 61%) 50% 100% / 28% 24% no-repeat,radial-gradient(circle,#fff7ed 58%,transparent 61%) 100% 100% / 28% 24% no-repeat; }
.app-store.is-icon-standalone::before { inset: 20% 8% 4% 10%; border-radius: 17% 17% 24% 24%; background: linear-gradient(145deg,#5eead4,#14b8a6 44%,#0f766e); box-shadow: inset 0 1px 0 rgba(255,255,255,.58),0 .42rem .9rem rgba(15,23,42,.22); }
.app-store.is-icon-standalone::after { left: 30%; right: 26%; top: 6%; height: 32%; border: .12rem solid rgba(236,254,255,.92); border-bottom: 0; border-radius: 999px 999px 0 0; }
.app-taskmanager.is-icon-standalone::before { inset: 8% 8% 8% 10%; border-radius: 18%; background: linear-gradient(145deg,#0f172a,#14532d 50%,#22c55e); box-shadow: inset 0 1px 0 rgba(255,255,255,.34),0 .42rem .9rem rgba(15,23,42,.24); }
.app-taskmanager.is-icon-standalone::after { inset: 28% 18% 24% 24%; background: linear-gradient(#dcfce7,#dcfce7) 0 82% / 16% 18% no-repeat,linear-gradient(#bbf7d0,#bbf7d0) 28% 58% / 16% 42% no-repeat,linear-gradient(#f8fafc,#f8fafc) 56% 34% / 16% 66% no-repeat,linear-gradient(#86efac,#86efac) 84% 66% / 16% 34% no-repeat; }
.app-terminal.is-icon-standalone::before { inset: 8% 8% 9% 10%; border-radius: 16% 16% 18% 18%; background: linear-gradient(145deg,#020617,#0f172a 48%,#0891b2); box-shadow: inset 0 1px 0 rgba(255,255,255,.3),0 .42rem .9rem rgba(15,23,42,.24); }
.app-terminal.is-icon-standalone::after { inset: 34% 18% 34% 24%; background: linear-gradient(45deg,transparent 42%,#67e8f9 44%,#67e8f9 56%,transparent 58%) 0 34% / 28% 42% no-repeat,linear-gradient(-45deg,transparent 42%,#67e8f9 44%,#67e8f9 56%,transparent 58%) 0 66% / 28% 42% no-repeat,linear-gradient(#e0f2fe,#e0f2fe) 48% 66% / 42% 13% no-repeat; }
.app-clock.is-icon-standalone::before { inset: 6% 8% 8% 8%; border-radius: 50%; background: radial-gradient(circle at 50% 50%,rgba(15,23,42,.92) 0 38%,transparent 39%),linear-gradient(145deg,#38bdf8,#0ea5e9 44%,#0f172a); box-shadow: inset 0 1px 0 rgba(255,255,255,.58),0 .42rem .9rem rgba(15,23,42,.24); }
.app-clock.is-icon-standalone::after { left: 47%; top: 25%; width: 6%; height: 34%; border-radius: 999px; background: #f8fafc; box-shadow: .22rem .28rem 0 -.08rem #bae6fd; }
.app-mail.is-icon-standalone::before { inset: 16% 9% 12% 9%; border-radius: 13% 13% 18% 18%; background: linear-gradient(145deg,#7dd3fc,#0ea5e9 44%,#22c55e); box-shadow: inset 0 1px 0 rgba(255,255,255,.58),0 .42rem .9rem rgba(15,23,42,.22); }
.app-mail.is-icon-standalone::after { inset: 30% 16% 24% 16%; background: linear-gradient(135deg,transparent 0 47%,rgba(240,253,250,.92) 48% 54%,transparent 55%) 0 0 / 50% 100% no-repeat,linear-gradient(225deg,transparent 0 47%,rgba(236,254,255,.92) 48% 54%,transparent 55%) 100% 0 / 50% 100% no-repeat; }
.app-imageviewer.is-icon-standalone::before { inset: 8%; border-radius: 17%; background: linear-gradient(145deg,#7dd3fc,#38bdf8 42%,#6366f1); box-shadow: inset 0 1px 0 rgba(255,255,255,.58),0 .42rem .9rem rgba(15,23,42,.22); }
.app-imageviewer.is-icon-standalone::after { inset: 22%; background: radial-gradient(circle,#fef9c3 55%,transparent 58%) 78% 10% / 24% 24% no-repeat,linear-gradient(135deg,transparent 0 44%,#ecfeff 45% 56%,transparent 57%) 0 76% / 48% 34% no-repeat,linear-gradient(45deg,transparent 0 40%,#e0f2fe 41% 57%,transparent 58%) 42% 82% / 58% 38% no-repeat; }
.app-pdfviewer.is-icon-standalone::before { inset: 4% 10%; border-radius: 12% 16% 18% 18%; background: linear-gradient(145deg,#fca5a5,#ef4444 42%,#7f1d1d); box-shadow: inset 0 1px 0 rgba(255,255,255,.58),0 .42rem .9rem rgba(15,23,42,.22); }
.app-pdfviewer.is-icon-standalone::after { inset: 24% 22% 22% 24%; background: linear-gradient(135deg,rgba(255,247,237,.94) 0 50%,transparent 51%) 100% 0 / 30% 30% no-repeat,linear-gradient(#fff7ed,#fff7ed) 0 0 / 54% 13% no-repeat,linear-gradient(#fee2e2,#fee2e2) 0 42% / 100% 12% no-repeat,linear-gradient(#fecaca,#fecaca) 0 72% / 78% 12% no-repeat; }

.linkos-launcher-icon::after,
.desktop-os-icon::before {
	background: linear-gradient(150deg,color-mix(in srgb,var(--accent) 92%,#fff),color-mix(in srgb,var(--accent-2) 82%,var(--accent)));
	-webkit-mask: url("../../icons/cloudesk-mark-monochrome.svg") center / contain no-repeat;
	mask: url("../../icons/cloudesk-mark-monochrome.svg") center / contain no-repeat;
}
/**
 * App-id icon classes complete the illustrated set for bundled and system apps that still use boxed metadata.
 */
.app-editor:not(.has-image),
.app-contacts:not(.has-image),
.app-calendar:not(.has-image),
.app-tasks:not(.has-image),
.app-clipboard:not(.has-image),
.app-systemguide:not(.has-image),
.app-clockapp:not(.has-image),
.app-brickdash:not(.has-image),
.app-snake:not(.has-image),
.app-game2048:not(.has-image),
.app-jspaint:not(.has-image),
.app-excalidraw:not(.has-image),
.app-mermaid:not(.has-image),
.app-sandspiel:not(.has-image) {
	position: relative;
	overflow: visible;
	background: transparent !important;
	box-shadow: none !important;
	color: #fff;
}

.app-editor:not(.has-image) svg,
.app-contacts:not(.has-image) svg,
.app-calendar:not(.has-image) svg,
.app-tasks:not(.has-image) svg,
.app-clipboard:not(.has-image) svg,
.app-systemguide:not(.has-image) svg,
.app-clockapp:not(.has-image) svg,
.app-brickdash:not(.has-image) svg,
.app-snake:not(.has-image) svg,
.app-game2048:not(.has-image) svg,
.app-jspaint:not(.has-image) svg,
.app-excalidraw:not(.has-image) svg,
.app-mermaid:not(.has-image) svg,
.app-sandspiel:not(.has-image) svg {
	display: none;
}

.app-editor:not(.has-image)::before,
.app-editor:not(.has-image)::after,
.app-contacts:not(.has-image)::before,
.app-contacts:not(.has-image)::after,
.app-calendar:not(.has-image)::before,
.app-calendar:not(.has-image)::after,
.app-tasks:not(.has-image)::before,
.app-tasks:not(.has-image)::after,
.app-clipboard:not(.has-image)::before,
.app-clipboard:not(.has-image)::after,
.app-systemguide:not(.has-image)::before,
.app-systemguide:not(.has-image)::after,
.app-clockapp:not(.has-image)::before,
.app-clockapp:not(.has-image)::after,
.app-brickdash:not(.has-image)::before,
.app-brickdash:not(.has-image)::after,
.app-snake:not(.has-image)::before,
.app-snake:not(.has-image)::after,
.app-game2048:not(.has-image)::before,
.app-game2048:not(.has-image)::after,
.app-jspaint:not(.has-image)::before,
.app-jspaint:not(.has-image)::after,
.app-excalidraw:not(.has-image)::before,
.app-excalidraw:not(.has-image)::after,
.app-mermaid:not(.has-image)::before,
.app-mermaid:not(.has-image)::after,
.app-sandspiel:not(.has-image)::before,
.app-sandspiel:not(.has-image)::after {
	content: "";
	position: absolute;
	display: block;
}

.app-editor:not(.has-image)::before { inset: 6% 13% 5% 12%; border-radius: 12% 16% 18% 18%; background: linear-gradient(145deg,#f8fafc,#bae6fd 54%,#38bdf8); box-shadow: inset 0 1px 0 rgba(255,255,255,.72),0 .42rem .9rem rgba(15,23,42,.18); }
.app-editor:not(.has-image)::after { inset: 24% 20% 19% 22%; background: linear-gradient(135deg,rgba(15,23,42,.2) 0 46%,transparent 47%) 100% 0 / 30% 30% no-repeat,linear-gradient(#0f172a,#0f172a) 0 6% / 54% 9% no-repeat,linear-gradient(#2563eb,#2563eb) 0 38% / 96% 9% no-repeat,linear-gradient(#0891b2,#0891b2) 0 68% / 70% 9% no-repeat; }
.app-contacts:not(.has-image)::before { inset: 8% 11%; border-radius: 18%; background: linear-gradient(145deg,#f0fdfa,#5eead4 48%,#0f766e); box-shadow: inset 0 1px 0 rgba(255,255,255,.68),0 .42rem .9rem rgba(15,23,42,.2); }
.app-contacts:not(.has-image)::after { inset: 21% 23% 18%; border-radius: 50% 50% 22% 22%; background: radial-gradient(circle at 50% 28%,#0f172a 0 20%,transparent 21%),linear-gradient(#0f172a,#0f172a) 50% 74% / 76% 30% no-repeat,linear-gradient(rgba(255,255,255,.86),rgba(255,255,255,.86)) 50% 100% / 96% 10% no-repeat; }
.app-calendar:not(.has-image)::before { inset: 7% 9% 8%; border-radius: 17%; background: linear-gradient(145deg,#60a5fa,#2563eb 45%,#312e81); box-shadow: inset 0 1px 0 rgba(255,255,255,.55),0 .42rem .9rem rgba(15,23,42,.22); }
.app-calendar:not(.has-image)::after { inset: 24% 19% 18%; background: linear-gradient(#eff6ff,#eff6ff) 0 0 / 100% 16% no-repeat,radial-gradient(circle,#eff6ff 58%,transparent 61%) 0 48% / 24% 22% no-repeat,radial-gradient(circle,#eff6ff 58%,transparent 61%) 50% 48% / 24% 22% no-repeat,radial-gradient(circle,#eff6ff 58%,transparent 61%) 100% 48% / 24% 22% no-repeat,radial-gradient(circle,#bfdbfe 58%,transparent 61%) 0 100% / 24% 22% no-repeat,radial-gradient(circle,#bfdbfe 58%,transparent 61%) 50% 100% / 24% 22% no-repeat; }
.app-tasks:not(.has-image)::before { inset: 7% 11% 7% 12%; border-radius: 15% 15% 19% 19%; background: linear-gradient(145deg,#bbf7d0,#22c55e 44%,#166534); box-shadow: inset 0 1px 0 rgba(255,255,255,.58),0 .42rem .9rem rgba(15,23,42,.2); }
.app-tasks:not(.has-image)::after { inset: 25% 20%; background: linear-gradient(135deg,transparent 0 39%,#f0fdf4 41% 55%,transparent 57%) 0 4% / 30% 28% no-repeat,linear-gradient(#f0fdf4,#f0fdf4) 48% 15% / 52% 10% no-repeat,linear-gradient(135deg,transparent 0 39%,#dcfce7 41% 55%,transparent 57%) 0 58% / 30% 28% no-repeat,linear-gradient(#dcfce7,#dcfce7) 48% 69% / 52% 10% no-repeat; }
.app-clipboard:not(.has-image)::before { inset: 7% 12% 6%; border-radius: 16% 16% 19% 19%; background: linear-gradient(145deg,#e2e8f0,#94a3b8 48%,#334155); box-shadow: inset 0 1px 0 rgba(255,255,255,.66),0 .42rem .9rem rgba(15,23,42,.2); }
.app-clipboard:not(.has-image)::after { inset: 19% 22% 22%; border-radius: 12%; background: linear-gradient(#0f172a,#0f172a) 50% 0 / 58% 16% no-repeat,linear-gradient(#f8fafc,#f8fafc) 0 42% / 100% 10% no-repeat,linear-gradient(#e2e8f0,#e2e8f0) 0 72% / 74% 10% no-repeat; }
.app-systemguide:not(.has-image)::before { inset: 7% 10% 6%; border-radius: 14% 20% 18% 16%; background: linear-gradient(145deg,#f5d0fe,#c084fc 44%,#7e22ce); box-shadow: inset 0 1px 0 rgba(255,255,255,.62),0 .42rem .9rem rgba(15,23,42,.22); }
.app-systemguide:not(.has-image)::after { inset: 22% 25% 18%; background: linear-gradient(#fff7ed,#fff7ed) 0 0 / 100% 11% no-repeat,linear-gradient(#fef3c7,#fef3c7) 0 34% / 82% 11% no-repeat,linear-gradient(#fde68a,#fde68a) 0 68% / 62% 11% no-repeat; }
.app-clockapp:not(.has-image)::before { inset: 6% 8% 8%; border-radius: 50%; background: linear-gradient(145deg,#bae6fd,#38bdf8 42%,#1e3a8a); box-shadow: inset 0 1px 0 rgba(255,255,255,.58),0 .42rem .9rem rgba(15,23,42,.24); }
.app-clockapp:not(.has-image)::after { left: 48%; top: 23%; width: 6%; height: 35%; border-radius: 999px; background: #0f172a; box-shadow: .22rem .32rem 0 -.08rem #0f172a,0 0 0 .18rem rgba(255,255,255,.68); transform-origin: 50% 75%; }
.app-brickdash:not(.has-image)::before { inset: 8%; border-radius: 18%; background: linear-gradient(145deg,#fb7185,#f97316 46%,#7c2d12); box-shadow: inset 0 1px 0 rgba(255,255,255,.5),0 .42rem .9rem rgba(15,23,42,.22); }
.app-brickdash:not(.has-image)::after { inset: 22% 16% 18%; background: linear-gradient(#fff7ed,#fff7ed) 0 0 / 31% 24% no-repeat,linear-gradient(#fde68a,#fde68a) 50% 0 / 31% 24% no-repeat,linear-gradient(#fff7ed,#fff7ed) 100% 0 / 31% 24% no-repeat,linear-gradient(#ffedd5,#ffedd5) 0 43% / 47% 24% no-repeat,linear-gradient(#fed7aa,#fed7aa) 100% 43% / 47% 24% no-repeat,linear-gradient(#fff7ed,#fff7ed) 0 86% / 63% 24% no-repeat,linear-gradient(#fde68a,#fde68a) 100% 86% / 31% 24% no-repeat; }
.app-snake:not(.has-image)::before { inset: 8%; border-radius: 20%; background: linear-gradient(145deg,#bef264,#22c55e 42%,#14532d); box-shadow: inset 0 1px 0 rgba(255,255,255,.52),0 .42rem .9rem rgba(15,23,42,.22); }
.app-snake:not(.has-image)::after { inset: 23% 18% 21%; background: linear-gradient(#ecfccb,#ecfccb) 0 0 / 30% 31% no-repeat,linear-gradient(#ecfccb,#ecfccb) 30% 0 / 30% 31% no-repeat,linear-gradient(#ecfccb,#ecfccb) 30% 31% / 30% 31% no-repeat,linear-gradient(#ecfccb,#ecfccb) 60% 31% / 30% 31% no-repeat,linear-gradient(#ecfccb,#ecfccb) 60% 62% / 30% 31% no-repeat,radial-gradient(circle,#14532d 50%,transparent 54%) 89% 36% / 14% 14% no-repeat; }
.app-game2048:not(.has-image)::before { inset: 8%; border-radius: 18%; background: linear-gradient(145deg,#fcd34d,#f59e0b 42%,#92400e); box-shadow: inset 0 1px 0 rgba(255,255,255,.56),0 .42rem .9rem rgba(15,23,42,.22); }
.app-game2048:not(.has-image)::after { inset: 19%; background: linear-gradient(#fff7ed,#fff7ed) 0 0 / 46% 46% no-repeat,linear-gradient(#ffedd5,#ffedd5) 100% 0 / 46% 46% no-repeat,linear-gradient(#fed7aa,#fed7aa) 0 100% / 46% 46% no-repeat,linear-gradient(#fef3c7,#fef3c7) 100% 100% / 46% 46% no-repeat; }
.app-jspaint:not(.has-image)::before { inset: 7% 9% 8%; border-radius: 18%; background: linear-gradient(145deg,#f8fafc,#c7d2fe 40%,#3b82f6); box-shadow: inset 0 1px 0 rgba(255,255,255,.65),0 .42rem .9rem rgba(15,23,42,.22); }
.app-jspaint:not(.has-image)::after { inset: 20% 18% 17%; background: radial-gradient(circle,#ef4444 58%,transparent 61%) 4% 76% / 23% 23% no-repeat,radial-gradient(circle,#22c55e 58%,transparent 61%) 38% 63% / 23% 23% no-repeat,radial-gradient(circle,#2563eb 58%,transparent 61%) 70% 38% / 23% 23% no-repeat,linear-gradient(135deg,transparent 0 42%,#7c2d12 44% 56%,transparent 58%) 82% 0 / 28% 58% no-repeat; }
.app-excalidraw:not(.has-image)::before { inset: 7%; border-radius: 22%; background: linear-gradient(145deg,#f5f3ff,#c4b5fd 42%,#7c3aed); box-shadow: inset 0 1px 0 rgba(255,255,255,.66),0 .42rem .9rem rgba(15,23,42,.22); }
.app-excalidraw:not(.has-image)::after { inset: 20% 20% 18%; background: linear-gradient(135deg,transparent 0 42%,#1f2937 44% 56%,transparent 58%) 10% 68% / 74% 20% no-repeat,linear-gradient(135deg,transparent 0 42%,#f8fafc 44% 56%,transparent 58%) 34% 28% / 62% 22% no-repeat,radial-gradient(circle,#1f2937 48%,transparent 52%) 8% 72% / 16% 16% no-repeat; }
.app-mermaid:not(.has-image)::before { inset: 8%; border-radius: 18%; background: linear-gradient(145deg,#67e8f9,#06b6d4 42%,#155e75); box-shadow: inset 0 1px 0 rgba(255,255,255,.56),0 .42rem .9rem rgba(15,23,42,.22); }
.app-mermaid:not(.has-image)::after { inset: 20%; background: linear-gradient(#ecfeff,#ecfeff) 0 0 / 36% 28% no-repeat,linear-gradient(#cffafe,#cffafe) 100% 0 / 36% 28% no-repeat,linear-gradient(#a5f3fc,#a5f3fc) 50% 100% / 36% 28% no-repeat,linear-gradient(#ecfeff,#ecfeff) 50% 20% / 12% 54% no-repeat,linear-gradient(#ecfeff,#ecfeff) 18% 52% / 64% 12% no-repeat; }
.app-sandspiel:not(.has-image)::before { inset: 8%; border-radius: 18%; background: linear-gradient(145deg,#fef3c7,#f59e0b 46%,#92400e); box-shadow: inset 0 1px 0 rgba(255,255,255,.56),0 .42rem .9rem rgba(15,23,42,.22); }
.app-sandspiel:not(.has-image)::after { inset: 20%; background: radial-gradient(circle,#7c2d12 55%,transparent 58%) 0 0 / 22% 22% no-repeat,radial-gradient(circle,#fff7ed 55%,transparent 58%) 42% 10% / 22% 22% no-repeat,radial-gradient(circle,#ef4444 55%,transparent 58%) 78% 24% / 22% 22% no-repeat,radial-gradient(circle,#22c55e 55%,transparent 58%) 20% 66% / 22% 22% no-repeat,radial-gradient(circle,#2563eb 55%,transparent 58%) 72% 78% / 22% 22% no-repeat; }
.linkos-launcher-icon::after,.desktop-os-icon::before{content:"";display:block;background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 92%,#fff),color-mix(in srgb,var(--accent-2) 82%,var(--accent)));-webkit-mask:url("../../icons/cloudesk-mark-monochrome.svg") center/contain no-repeat;mask:url("../../icons/cloudesk-mark-monochrome.svg") center/contain no-repeat}.linkos-launcher-icon span{display:none!important}.desktop-icon .app-icon.is-icon-standalone{width:3.25rem;height:3.25rem}.launcher-item .app-icon.is-icon-standalone{width:3.45rem;height:3.45rem}.desktop-trash-icon{position:relative;display:grid;place-items:center;width:2.5rem;height:2.5rem;overflow:visible;border-radius:0!important;background:transparent;box-shadow:none}.desktop-trash-icon::before{content:"";position:absolute;left:.58rem;right:.58rem;top:.52rem;height:.28rem;border-radius:.18rem .18rem .1rem .1rem;background:linear-gradient(145deg,#f8fafc,#cbd5e1);box-shadow:0 .08rem 0 rgba(15,23,42,.16);transform:rotate(-3deg)}.desktop-trash-icon::after{content:"";position:absolute;left:.62rem;right:.62rem;bottom:.34rem;height:1.42rem;border-radius:.22rem .22rem .4rem .4rem;background:linear-gradient(145deg,#f8fafc,#dbeafe 48%,#93c5fd);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 .42rem .9rem rgba(15,23,42,.22)}.desktop-trash-icon span:first-child{position:absolute;z-index:2;left:.92rem;top:.32rem;width:.7rem;height:.16rem;border-radius:999px;background:#f8fafc}.desktop-trash-icon span:last-child{position:absolute;z-index:2;left:.92rem;right:.92rem;bottom:.62rem;height:.86rem;border-inline:.08rem solid rgba(30,64,175,.42)}.desktop-drive-icon,.file-visual.is-drive{overflow:visible;border-radius:0!important;background:transparent;box-shadow:none}.desktop-drive-icon{position:relative;display:grid;place-items:center;width:2.5rem;height:2.5rem}.desktop-drive-icon::before,.file-visual.is-drive .file-visual-glyph::before{content:"";position:absolute;left:12%;right:12%;bottom:14%;height:34%;border-radius:.22rem .22rem .46rem .46rem;background:linear-gradient(145deg,#f8fafc,#cbd5e1 58%,#94a3b8);box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--accent) 30%,rgba(15,23,42,.12)),0 .42rem .9rem rgba(15,23,42,.2)}.desktop-drive-icon::after,.file-visual.is-drive .file-visual-glyph::after{content:"";position:absolute;left:17%;right:17%;top:22%;height:42%;border-radius:.3rem .3rem .08rem .08rem;background:linear-gradient(145deg,#e0f2fe,#7dd3fc 54%,#0ea5e9);box-shadow:inset 0 1px 0 rgba(255,255,255,.62);transform:perspective(2.7rem) rotateX(23deg);transform-origin:bottom}.desktop-drive-icon span{position:absolute;right:.58rem;bottom:.58rem;z-index:2;width:.32rem;height:.32rem;border-radius:999px;background:var(--accent);box-shadow:-.48rem 0 0 color-mix(in srgb,var(--accent-2) 82%,#fff 18%)}.file-visual.is-drive::after{display:none}.file-visual.is-drive .file-visual-glyph{display:block}
.desktop-drive-icon{position:relative;display:grid;place-items:center;width:2.5rem;height:2.5rem;overflow:visible;border-radius:0!important;background:transparent;box-shadow:none}
.linkos-launcher-icon{transform:rotate(-12deg);transform-origin:center}
.linkos-launcher-icon{transform:none}.desktop-trash-icon{position:relative;display:grid;place-items:center;width:2.5rem;height:2.5rem;overflow:hidden;border-radius:.62rem!important;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 82%,#fff 18%),var(--accent-2));box-shadow:0 12px 28px rgba(15,23,42,.25),inset 0 1px 0 rgba(255,255,255,.42)}.desktop-trash-icon::before{content:"";position:absolute;left:.68rem;right:.68rem;top:.46rem;height:.22rem;border-radius:.16rem;background:rgba(255,255,255,.9);box-shadow:0 .3rem 0 -.08rem rgba(255,255,255,.72);transform:none}.desktop-trash-icon::after{content:"";position:absolute;left:.74rem;right:.74rem;top:.93rem;bottom:.5rem;height:auto;border-radius:.12rem .12rem .32rem .32rem;background:rgba(255,255,255,.84);box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--accent) 32%,rgba(15,23,42,.12))}.desktop-trash-icon span:first-child{position:absolute;left:1rem;top:1.08rem;z-index:2;width:.11rem;height:.76rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 48%,#334155 52%);box-shadow:.32rem 0 0 color-mix(in srgb,var(--accent) 48%,#334155 52%)}.desktop-trash-icon span:last-child{position:absolute;left:.94rem;right:.94rem;top:.32rem;bottom:auto;z-index:2;height:.16rem;border:0;border-radius:.16rem;background:rgba(255,255,255,.94)}body.is-dark .desktop-trash-icon{box-shadow:0 12px 28px rgba(2,6,23,.42),inset 0 1px 0 rgba(255,255,255,.18)}.desktop-drive-icon{position:relative;display:grid;place-items:center;width:2.5rem;height:2.5rem;overflow:hidden;border-radius:.62rem!important;background:linear-gradient(145deg,var(--accent),var(--accent-2));box-shadow:0 12px 28px rgba(15,23,42,.28),inset 0 1px 0 rgba(255,255,255,.42)}.desktop-drive-icon::before{content:"";position:absolute;left:.42rem;right:.42rem;bottom:.48rem;height:.72rem;border-radius:.18rem .18rem .32rem .32rem;background:rgba(255,255,255,.92);box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--accent) 32%,rgba(15,23,42,.12))}.desktop-drive-icon::after{content:"";position:absolute;left:.52rem;right:.52rem;top:.58rem;height:.82rem;border-radius:.22rem .22rem .08rem .08rem;background:rgba(255,255,255,.74);box-shadow:inset 0 1px 0 rgba(255,255,255,.55);transform:perspective(2.4rem) rotateX(22deg);transform-origin:bottom}.desktop-drive-icon span{position:absolute;right:.58rem;bottom:.66rem;z-index:2;width:.34rem;height:.34rem;border-radius:999px;background:var(--accent);box-shadow:-.48rem 0 0 color-mix(in srgb,var(--accent-2) 82%,#fff 18%)}body.is-dark .desktop-drive-icon{box-shadow:0 12px 28px rgba(2,6,23,.42),inset 0 1px 0 rgba(255,255,255,.18)}.file-visual.is-drive{overflow:hidden;border-radius:.65rem!important;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 96%,#fff 4%),color-mix(in srgb,var(--accent-2) 88%,#fff 12%));box-shadow:0 12px 24px color-mix(in srgb,var(--accent) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.42)}.file-visual.is-drive .file-visual-glyph::before{left:18%;right:18%;bottom:20%;height:28%;border-radius:.18rem .18rem .42rem .42rem;background:rgba(255,255,255,.92);box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--accent) 32%,rgba(15,23,42,.12))}.file-visual.is-drive .file-visual-glyph::after{left:22%;right:22%;top:24%;height:34%;border-radius:.28rem .28rem .08rem .08rem;background:rgba(255,255,255,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.55);transform:perspective(2.5rem) rotateX(22deg);transform-origin:bottom}
.desktop-icon .app-files.is-icon-standalone::before,.launcher-item .app-files.is-icon-standalone::before{left:1%;right:-5%;bottom:8%;height:70%;border-radius:18% 18% 20% 20%/24% 24% 17% 17%;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -.48rem .86rem rgba(7,24,22,.2),0 .52rem 1rem rgba(15,23,42,.22)}.desktop-icon .app-files.is-icon-standalone::after,.launcher-item .app-files.is-icon-standalone::after{left:8%;top:8%;width:48%;height:30%}.desktop-icon .app-store.is-icon-standalone::before,.launcher-item .app-store.is-icon-standalone::before{left:6%;right:1%;top:17%;bottom:0;border-radius:17% 17% 23% 23%/14% 14% 19% 19%;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 0 0 1px rgba(255,255,255,.22),inset 0 -.46rem .82rem rgba(4,47,46,.22),0 .52rem 1rem rgba(15,23,42,.24)}.desktop-icon .app-store.is-icon-standalone::after,.launcher-item .app-store.is-icon-standalone::after{left:25%;right:20%;top:4%;height:34%;border-width:.13rem}
.linkos-launcher-icon::after,.desktop-os-icon::before{content:"";display:block;background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 92%,#fff),color-mix(in srgb,var(--accent-2) 82%,var(--accent)));-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M102 271C102 248.356 120.356 230 143 230C165.644 230 184 248.356 184 271V352H143C120.356 352 102 333.644 102 311V271Z M198 188C198 162.595 218.595 142 244 142C269.405 142 290 162.595 290 188V352H198V188Z M304 223C304 201.461 321.461 184 343 184C364.539 184 382 201.461 382 223V352H304V223Z M396 287C396 269.879 409.879 256 427 256C444.121 256 458 269.879 458 287V321C458 338.121 444.121 352 427 352H396V287Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M102 271C102 248.356 120.356 230 143 230C165.644 230 184 248.356 184 271V352H143C120.356 352 102 333.644 102 311V271Z M198 188C198 162.595 218.595 142 244 142C269.405 142 290 162.595 290 188V352H198V188Z M304 223C304 201.461 321.461 184 343 184C364.539 184 382 201.461 382 223V352H304V223Z M396 287C396 269.879 409.879 256 427 256C444.121 256 458 269.879 458 287V321C458 338.121 444.121 352 427 352H396V287Z'/%3E%3C/svg%3E");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}
.app-notes.is-icon-standalone::before{left:15%;right:13%;top:7%;bottom:7%;border-radius:12% 12% 18% 18%/11% 11% 16% 16%;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0) 34%),linear-gradient(145deg,#4b5f86 0%,#172033 58%,#0f172a 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.36),inset 0 0 0 1px rgba(255,255,255,.14),inset 0 -.36rem .72rem rgba(2,6,23,.22),0 .42rem .9rem rgba(15,23,42,.24)}.app-notes.is-icon-standalone::after{left:27%;right:22%;top:24%;bottom:24%;background:linear-gradient(#e0f2fe,#e0f2fe) 0 0/100% 11% no-repeat,linear-gradient(#c7d2fe,#c7d2fe) 0 34%/88% 11% no-repeat,linear-gradient(#93c5fd,#93c5fd) 0 68%/66% 11% no-repeat,linear-gradient(rgba(255,255,255,.26),rgba(255,255,255,.26)) 0 100%/42% 11% no-repeat;filter:drop-shadow(0 .08rem .12rem rgba(2,6,23,.24))}.desktop-icon .app-notes.is-icon-standalone::before,.launcher-item .app-notes.is-icon-standalone::before{left:8%;right:4%;top:0;bottom:0;border-radius:12% 12% 17% 17%/11% 11% 16% 16%;box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 0 0 1px rgba(255,255,255,.16),inset 0 -.46rem .84rem rgba(2,6,23,.22),0 .52rem 1rem rgba(15,23,42,.26)}.desktop-icon .app-notes.is-icon-standalone::after,.launcher-item .app-notes.is-icon-standalone::after{left:22%;right:14%;top:19%;bottom:18%}
.app-calculator.is-icon-standalone::before{left:20%;right:18%;top:9%;bottom:8%;border-radius:18% 18% 21% 21%/14% 14% 18% 18%;background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,0) 34%),linear-gradient(145deg,#fbbf24 0%,#f59e0b 42%,#ef4444 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.54),inset 0 -.34rem .68rem rgba(87,26,10,.22),0 .38rem .86rem rgba(15,23,42,.2)}.app-calculator.is-icon-standalone::after{left:31%;right:29%;top:22%;bottom:20%;border-radius:.16rem;background:linear-gradient(#fff7ed,#fff7ed) 50% 0/100% 24% no-repeat,radial-gradient(circle,#fff7ed 58%,transparent 61%) 0 54%/28% 24% no-repeat,radial-gradient(circle,#fff7ed 58%,transparent 61%) 50% 54%/28% 24% no-repeat,radial-gradient(circle,#fff7ed 58%,transparent 61%) 100% 54%/28% 24% no-repeat,radial-gradient(circle,#fff7ed 58%,transparent 61%) 0 100%/28% 24% no-repeat,radial-gradient(circle,#fff7ed 58%,transparent 61%) 50% 100%/28% 24% no-repeat,radial-gradient(circle,#fff7ed 58%,transparent 61%) 100% 100%/28% 24% no-repeat;opacity:.95}.desktop-icon .app-calculator.is-icon-standalone::before,.launcher-item .app-calculator.is-icon-standalone::before{left:12%;right:10%;top:0;bottom:-2%;border-radius:18% 18% 20% 20%/14% 14% 17% 17%;box-shadow:inset 0 1px 0 rgba(255,255,255,.56),inset 0 -.44rem .78rem rgba(87,26,10,.22),0 .5rem .98rem rgba(15,23,42,.22)}.desktop-icon .app-calculator.is-icon-standalone::after,.launcher-item .app-calculator.is-icon-standalone::after{left:25%;right:23%;top:14%;bottom:13%}
.app-taskmanager.is-icon-standalone::before{left:15%;right:10%;top:12%;bottom:12%;border-radius:18%;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0) 34%),linear-gradient(145deg,#0f172a 0%,#14532d 50%,#22c55e 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.34),inset 0 0 0 1px rgba(187,247,208,.2),inset 0 -.36rem .72rem rgba(2,6,23,.22),0 .42rem .9rem rgba(15,23,42,.24)}.app-taskmanager.is-icon-standalone::after{left:27%;right:20%;top:29%;bottom:27%;background:linear-gradient(#dcfce7,#dcfce7) 0 82%/16% 18% no-repeat,linear-gradient(#bbf7d0,#bbf7d0) 28% 58%/16% 42% no-repeat,linear-gradient(#f8fafc,#f8fafc) 56% 34%/16% 66% no-repeat,linear-gradient(#86efac,#86efac) 84% 66%/16% 34% no-repeat,linear-gradient(#dcfce7,#dcfce7) 50% 100%/100% 8% no-repeat;filter:drop-shadow(0 .08rem .12rem rgba(2,6,23,.3))}.desktop-icon .app-taskmanager.is-icon-standalone::before,.launcher-item .app-taskmanager.is-icon-standalone::before{left:5%;right:0;top:5%;bottom:5%;border-radius:17%;box-shadow:inset 0 1px 0 rgba(255,255,255,.36),inset 0 0 0 1px rgba(187,247,208,.22),inset 0 -.46rem .84rem rgba(2,6,23,.22),0 .52rem 1rem rgba(15,23,42,.26)}.desktop-icon .app-taskmanager.is-icon-standalone::after,.launcher-item .app-taskmanager.is-icon-standalone::after{left:20%;right:12%;top:22%;bottom:20%}
.app-clock.is-icon-standalone::before{left:13%;right:11%;top:11%;bottom:13%;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(15,23,42,.92) 0 38%,transparent 39%),linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,0) 36%),linear-gradient(145deg,#38bdf8 0%,#0ea5e9 44%,#0f172a 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.58),inset 0 0 0 1px rgba(255,255,255,.24),inset 0 -.34rem .68rem rgba(2,6,23,.22),0 .42rem .9rem rgba(15,23,42,.24)}.app-clock.is-icon-standalone::after{left:47%;top:27%;width:6%;height:31%;border-radius:999px;background:#f8fafc;box-shadow:.21rem .28rem 0 -.08rem #bae6fd,0 .08rem .14rem rgba(2,6,23,.24);transform-origin:50% 75%}.desktop-icon .app-clock.is-icon-standalone::before,.launcher-item .app-clock.is-icon-standalone::before{left:3%;right:1%;top:2%;bottom:3%;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 0 0 1px rgba(255,255,255,.26),inset 0 -.44rem .82rem rgba(2,6,23,.22),0 .52rem 1rem rgba(15,23,42,.26)}.desktop-icon .app-clock.is-icon-standalone::after,.launcher-item .app-clock.is-icon-standalone::after{left:47.5%;top:22%;width:5.5%;height:36%}
.app-mail.is-icon-standalone::before{left:11%;right:11%;top:18%;bottom:16%;border-radius:13% 13% 18% 18%/17% 17% 16% 16%;background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0) 36%),linear-gradient(145deg,#7dd3fc 0%,#0ea5e9 44%,#22c55e 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.58),inset 0 0 0 1px rgba(255,255,255,.24),inset 0 -.34rem .68rem rgba(6,37,31,.18),0 .42rem .9rem rgba(15,23,42,.22)}.app-mail.is-icon-standalone::after{left:18%;right:18%;top:30%;bottom:27%;background:linear-gradient(135deg,transparent 0 47%,rgba(240,253,250,.92) 48% 54%,transparent 55%) 0 0/50% 100% no-repeat,linear-gradient(225deg,transparent 0 47%,rgba(236,254,255,.92) 48% 54%,transparent 55%) 100% 0/50% 100% no-repeat,linear-gradient(45deg,transparent 0 44%,rgba(219,234,254,.88) 45% 54%,transparent 55%) 0 100%/50% 54% no-repeat,linear-gradient(-45deg,transparent 0 44%,rgba(240,253,250,.88) 45% 54%,transparent 55%) 100% 100%/50% 54% no-repeat,linear-gradient(rgba(240,253,250,.42),rgba(240,253,250,.42)) 50% 50%/74% 9% no-repeat;filter:drop-shadow(0 .08rem .12rem rgba(6,37,31,.22))}.desktop-icon .app-mail.is-icon-standalone::before,.launcher-item .app-mail.is-icon-standalone::before{left:3%;right:3%;top:10%;bottom:8%;border-radius:13% 13% 17% 17%/17% 17% 16% 16%;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 0 0 1px rgba(255,255,255,.26),inset 0 -.44rem .82rem rgba(6,37,31,.18),0 .52rem 1rem rgba(15,23,42,.24)}.desktop-icon .app-mail.is-icon-standalone::after,.launcher-item .app-mail.is-icon-standalone::after{left:12%;right:12%;top:24%;bottom:19%}
.app-terminal.is-icon-standalone::before{left:14%;right:10%;top:12%;bottom:13%;border-radius:16% 16% 18% 18%/18% 18% 16% 16%;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,0) 32%),linear-gradient(145deg,#020617 0%,#0f172a 48%,#0891b2 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 0 0 1px rgba(103,232,249,.22),inset 0 -.34rem .72rem rgba(2,6,23,.3),0 .42rem .9rem rgba(15,23,42,.24)}.app-terminal.is-icon-standalone::after{left:26%;right:20%;top:34%;bottom:34%;background:linear-gradient(45deg,transparent 42%,#67e8f9 44%,#67e8f9 56%,transparent 58%) 0 34%/28% 42% no-repeat,linear-gradient(-45deg,transparent 42%,#67e8f9 44%,#67e8f9 56%,transparent 58%) 0 66%/28% 42% no-repeat,linear-gradient(#e0f2fe,#e0f2fe) 48% 66%/42% 13% no-repeat,linear-gradient(#a7f3d0,#a7f3d0) 100% 66%/16% 13% no-repeat;filter:drop-shadow(0 .08rem .12rem rgba(2,6,23,.34))}.desktop-icon .app-terminal.is-icon-standalone::before,.launcher-item .app-terminal.is-icon-standalone::before{left:5%;right:0;top:5%;bottom:6%;border-radius:15% 15% 18% 18%/18% 18% 16% 16%;box-shadow:inset 0 1px 0 rgba(255,255,255,.32),inset 0 0 0 1px rgba(103,232,249,.24),inset 0 -.44rem .82rem rgba(2,6,23,.3),0 .52rem 1rem rgba(15,23,42,.26)}.desktop-icon .app-terminal.is-icon-standalone::after,.launcher-item .app-terminal.is-icon-standalone::after{left:20%;right:12%;top:29%;bottom:29%}
.app-imageviewer.is-icon-standalone::before{left:12%;right:12%;top:12%;bottom:12%;border-radius:17%;background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0) 34%),linear-gradient(145deg,#7dd3fc 0%,#38bdf8 42%,#6366f1 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.58),inset 0 0 0 1px rgba(255,255,255,.26),inset 0 -.36rem .72rem rgba(30,41,59,.18),0 .42rem .9rem rgba(15,23,42,.22)}.app-imageviewer.is-icon-standalone::after{left:24%;right:24%;top:24%;bottom:24%;background:radial-gradient(circle,#fef9c3 55%,transparent 58%) 78% 10%/24% 24% no-repeat,linear-gradient(135deg,transparent 0 44%,#ecfeff 45% 56%,transparent 57%) 0 76%/48% 34% no-repeat,linear-gradient(45deg,transparent 0 40%,#e0f2fe 41% 57%,transparent 58%) 42% 82%/58% 38% no-repeat,linear-gradient(rgba(255,255,255,.38),rgba(255,255,255,.38)) 50% 100%/100% 8% no-repeat;filter:drop-shadow(0 .08rem .12rem rgba(30,41,59,.24))}.desktop-icon .app-imageviewer.is-icon-standalone::before,.launcher-item .app-imageviewer.is-icon-standalone::before{left:4%;right:4%;top:4%;bottom:4%;border-radius:17%;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 0 0 1px rgba(255,255,255,.28),inset 0 -.46rem .84rem rgba(30,41,59,.18),0 .52rem 1rem rgba(15,23,42,.24)}.desktop-icon .app-imageviewer.is-icon-standalone::after,.launcher-item .app-imageviewer.is-icon-standalone::after{left:18%;right:18%;top:17%;bottom:17%}
.app-pdfviewer.is-icon-standalone::before{left:15%;right:13%;top:7%;bottom:7%;border-radius:12% 16% 18% 18%/11% 15% 16% 16%;background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,0) 34%),linear-gradient(145deg,#fca5a5 0%,#ef4444 42%,#7f1d1d 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.58),inset 0 0 0 1px rgba(255,255,255,.18),inset 0 -.36rem .72rem rgba(69,10,10,.22),0 .42rem .9rem rgba(15,23,42,.22)}.app-pdfviewer.is-icon-standalone::after{left:27%;right:24%;top:24%;bottom:23%;background:linear-gradient(135deg,rgba(255,247,237,.94) 0 50%,transparent 51%) 100% 0/30% 30% no-repeat,linear-gradient(#fff7ed,#fff7ed) 0 0/54% 13% no-repeat,linear-gradient(#fee2e2,#fee2e2) 0 42%/100% 12% no-repeat,linear-gradient(#fecaca,#fecaca) 0 72%/78% 12% no-repeat;filter:drop-shadow(0 .08rem .12rem rgba(69,10,10,.24))}.desktop-icon .app-pdfviewer.is-icon-standalone::before,.launcher-item .app-pdfviewer.is-icon-standalone::before{left:8%;right:4%;top:0;bottom:0;border-radius:12% 16% 17% 17%/11% 15% 16% 16%;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 0 0 1px rgba(255,255,255,.2),inset 0 -.46rem .84rem rgba(69,10,10,.22),0 .52rem 1rem rgba(15,23,42,.24)}.desktop-icon .app-pdfviewer.is-icon-standalone::after,.launcher-item .app-pdfviewer.is-icon-standalone::after{left:22%;right:15%;top:18%;bottom:17%}
.desktop-trash-icon{position:relative;display:grid;place-items:center;width:2.5rem;height:2.5rem;overflow:visible;border-radius:0!important;background:transparent;box-shadow:none}.desktop-trash-icon::before{content:"";position:absolute;left:.58rem;right:.58rem;top:.46rem;height:.3rem;border-radius:.18rem .18rem .1rem .1rem;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 74%,#fff 26%),color-mix(in srgb,var(--accent-2) 86%,#0f172a 14%));box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 .12rem .18rem color-mix(in srgb,var(--accent) 24%,transparent);transform:rotate(-3deg)}.desktop-trash-icon::after{content:"";position:absolute;left:.62rem;right:.62rem;top:.9rem;bottom:.34rem;height:auto;border-radius:.18rem .18rem .42rem .42rem;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 62%,#fff 38%),color-mix(in srgb,var(--accent-2) 84%,#0f172a 16%));box-shadow:inset 0 1px 0 rgba(255,255,255,.58),inset 0 -.16rem .24rem color-mix(in srgb,var(--accent-2) 38%,transparent),0 .42rem .86rem color-mix(in srgb,var(--accent) 24%,rgba(15,23,42,.16))}.desktop-trash-icon span:first-child{position:absolute;z-index:2;left:.92rem;top:.28rem;width:.7rem;height:.16rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 34%,#fff 66%);box-shadow:0 .08rem .12rem rgba(15,23,42,.16)}.desktop-trash-icon span:last-child{position:absolute;z-index:2;left:.92rem;right:.92rem;top:1.1rem;bottom:.64rem;height:auto;border:0;border-inline:.08rem solid color-mix(in srgb,var(--accent) 28%,#fff 72%);border-radius:999px;background:linear-gradient(90deg,transparent calc(50% - .04rem),color-mix(in srgb,var(--accent) 28%,#fff 72%) calc(50% - .04rem) calc(50% + .04rem),transparent calc(50% + .04rem))}body.is-dark .desktop-trash-icon{box-shadow:none}.desktop-drive-icon,.file-visual.is-drive{overflow:visible;border-radius:0!important;background:transparent;box-shadow:none}.desktop-drive-icon{position:relative;display:grid;place-items:center;width:2.5rem;height:2.5rem}.desktop-drive-icon::before,.file-visual.is-drive .file-visual-glyph::before{content:"";position:absolute;left:12%;right:12%;bottom:14%;height:34%;border-radius:.22rem .22rem .46rem .46rem;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 52%,#fff 48%),color-mix(in srgb,var(--accent-2) 76%,#0f172a 24%));box-shadow:inset 0 1px 0 rgba(255,255,255,.56),inset 0 -.12rem .2rem color-mix(in srgb,var(--accent-2) 38%,transparent),0 .42rem .86rem color-mix(in srgb,var(--accent) 22%,rgba(15,23,42,.16))}.desktop-drive-icon::after,.file-visual.is-drive .file-visual-glyph::after{content:"";position:absolute;left:17%;right:17%;top:22%;height:42%;border-radius:.3rem .3rem .08rem .08rem;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 34%,#fff 66%),color-mix(in srgb,var(--accent) 72%,var(--accent-2)));box-shadow:inset 0 1px 0 rgba(255,255,255,.62),0 .14rem .24rem color-mix(in srgb,var(--accent) 18%,transparent);transform:perspective(2.7rem) rotateX(23deg);transform-origin:bottom}.desktop-drive-icon span{position:absolute;right:.58rem;bottom:.58rem;z-index:2;width:.32rem;height:.32rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 28%,#fff 72%);box-shadow:-.48rem 0 0 color-mix(in srgb,var(--accent-2) 30%,#fff 70%)}body.is-dark .desktop-drive-icon{box-shadow:none}.file-visual.is-drive::after{display:none}.file-visual.is-drive .file-visual-glyph{display:block}.file-visual.is-svg-icon{overflow:visible;border-radius:0!important;background:transparent;box-shadow:none}.file-visual.is-svg-icon::after,.file-visual.is-svg-icon .file-visual-glyph{display:none}.file-visual.is-svg-icon img{object-fit:contain}
.desktop-trash-icon::before{background:linear-gradient(145deg,rgba(255,255,255,.96),color-mix(in srgb,var(--accent) 22%,#e2e8f0 78%));box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 .12rem .2rem color-mix(in srgb,var(--accent) 24%,rgba(15,23,42,.1))}.desktop-trash-icon::after{background:linear-gradient(145deg,rgba(255,255,255,.92),color-mix(in srgb,var(--accent) 30%,#dbeafe 70%) 54%,color-mix(in srgb,var(--accent-2) 28%,#94a3b8 72%));box-shadow:inset 0 1px 0 rgba(255,255,255,.72),inset 0 -2px 0 color-mix(in srgb,var(--accent) 28%,rgba(15,23,42,.12)),0 .42rem .86rem color-mix(in srgb,var(--accent) 18%,rgba(15,23,42,.18))}.desktop-trash-icon span:first-child{background:rgba(255,255,255,.94);box-shadow:0 .08rem .12rem color-mix(in srgb,var(--accent) 18%,rgba(15,23,42,.14))}.desktop-trash-icon span:last-child{border-inline-color:color-mix(in srgb,var(--accent) 48%,#334155 52%);background:linear-gradient(90deg,transparent calc(50% - .04rem),color-mix(in srgb,var(--accent) 48%,#334155 52%) calc(50% - .04rem) calc(50% + .04rem),transparent calc(50% + .04rem))}.desktop-drive-icon::before,.file-visual.is-drive .file-visual-glyph::before{background:linear-gradient(145deg,rgba(255,255,255,.94),color-mix(in srgb,var(--accent) 22%,#cbd5e1 78%) 58%,color-mix(in srgb,var(--accent-2) 22%,#94a3b8 78%));box-shadow:inset 0 1px 0 rgba(255,255,255,.64),inset 0 -2px 0 color-mix(in srgb,var(--accent) 30%,rgba(15,23,42,.12)),0 .42rem .86rem color-mix(in srgb,var(--accent) 18%,rgba(15,23,42,.18))}.desktop-drive-icon::after,.file-visual.is-drive .file-visual-glyph::after{background:linear-gradient(145deg,rgba(255,255,255,.74),color-mix(in srgb,var(--accent) 38%,#7dd3fc 62%) 54%,color-mix(in srgb,var(--accent-2) 30%,#0ea5e9 70%));box-shadow:inset 0 1px 0 rgba(255,255,255,.62),0 .14rem .24rem color-mix(in srgb,var(--accent) 16%,transparent)}.desktop-drive-icon span{background:color-mix(in srgb,var(--accent) 64%,#f8fafc 36%);box-shadow:-.48rem 0 0 color-mix(in srgb,var(--accent-2) 64%,#f8fafc 36%)}
.desktop-trash-icon{position:relative;display:grid;place-items:center;width:2.5rem;height:2.5rem;overflow:hidden;border-radius:.62rem!important;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 82%,#fff 18%),var(--accent-2));box-shadow:0 12px 28px rgba(15,23,42,.25),inset 0 1px 0 rgba(255,255,255,.42)}.desktop-trash-icon::before{content:"";position:absolute;left:.68rem;right:.68rem;top:.46rem;height:.22rem;border-radius:.16rem;background:rgba(255,255,255,.9);box-shadow:0 .3rem 0 -.08rem rgba(255,255,255,.72);transform:none}.desktop-trash-icon::after{content:"";position:absolute;left:.74rem;right:.74rem;top:.93rem;bottom:.5rem;height:auto;border-radius:.12rem .12rem .32rem .32rem;background:rgba(255,255,255,.84);box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--accent) 32%,rgba(15,23,42,.12))}.desktop-trash-icon span:first-child{position:absolute;left:1rem;top:1.08rem;z-index:2;width:.11rem;height:.76rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 48%,#334155 52%);box-shadow:.32rem 0 0 color-mix(in srgb,var(--accent) 48%,#334155 52%)}.desktop-trash-icon span:last-child{position:absolute;left:.94rem;right:.94rem;top:.32rem;bottom:auto;z-index:2;height:.16rem;border:0;border-radius:.16rem;background:rgba(255,255,255,.94)}body.is-dark .desktop-trash-icon{box-shadow:0 12px 28px rgba(2,6,23,.42),inset 0 1px 0 rgba(255,255,255,.18)}.desktop-drive-icon{position:relative;display:grid;place-items:center;width:2.5rem;height:2.5rem;overflow:hidden;border-radius:.62rem!important;background:linear-gradient(145deg,var(--accent),var(--accent-2));box-shadow:0 12px 28px rgba(15,23,42,.28),inset 0 1px 0 rgba(255,255,255,.42)}.desktop-drive-icon::before{content:"";position:absolute;left:.42rem;right:.42rem;bottom:.48rem;height:.72rem;border-radius:.18rem .18rem .32rem .32rem;background:rgba(255,255,255,.92);box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--accent) 32%,rgba(15,23,42,.12))}.desktop-drive-icon::after{content:"";position:absolute;left:.52rem;right:.52rem;top:.58rem;height:.82rem;border-radius:.22rem .22rem .08rem .08rem;background:rgba(255,255,255,.74);box-shadow:inset 0 1px 0 rgba(255,255,255,.55);transform:perspective(2.4rem) rotateX(22deg);transform-origin:bottom}.desktop-drive-icon span{position:absolute;right:.58rem;bottom:.66rem;z-index:2;width:.34rem;height:.34rem;border-radius:999px;background:var(--accent);box-shadow:-.48rem 0 0 color-mix(in srgb,var(--accent-2) 82%,#fff 18%)}body.is-dark .desktop-drive-icon{box-shadow:0 12px 28px rgba(2,6,23,.42),inset 0 1px 0 rgba(255,255,255,.18)}.file-visual.is-drive{overflow:hidden;border-radius:.65rem!important;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 96%,#fff 4%),color-mix(in srgb,var(--accent-2) 88%,#fff 12%));box-shadow:0 12px 24px color-mix(in srgb,var(--accent) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.42)}.file-visual.is-drive .file-visual-glyph::before{left:18%;right:18%;bottom:20%;height:28%;border-radius:.18rem .18rem .42rem .42rem;background:rgba(255,255,255,.92);box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--accent) 32%,rgba(15,23,42,.12))}.file-visual.is-drive .file-visual-glyph::after{left:22%;right:22%;top:24%;height:34%;border-radius:.28rem .28rem .08rem .08rem;background:rgba(255,255,255,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.55);transform:perspective(2.5rem) rotateX(22deg);transform-origin:bottom}
/**
 * Desktop and app-menu icons share one measured grid, regardless of whether their art is SVG, image, or CSS-drawn.
 */
:root {
	--desktop-grid-icon-size: 3rem;
	--launcher-grid-icon-size: 3rem;
}

.desktop-icon .app-icon,
.desktop-icon .desktop-os-icon,
.desktop-icon .desktop-install-icon,
.desktop-icon .desktop-trash-icon,
.desktop-icon .desktop-drive-icon {
	width: var(--desktop-grid-icon-size) !important;
	height: var(--desktop-grid-icon-size) !important;
	min-width: var(--desktop-grid-icon-size);
	min-height: var(--desktop-grid-icon-size);
	max-width: var(--desktop-grid-icon-size);
	max-height: var(--desktop-grid-icon-size);
	aspect-ratio: 1 / 1;
}

.launcher-item .app-icon {
	width: var(--launcher-grid-icon-size) !important;
	height: var(--launcher-grid-icon-size) !important;
	min-width: var(--launcher-grid-icon-size);
	min-height: var(--launcher-grid-icon-size);
	max-width: var(--launcher-grid-icon-size);
	max-height: var(--launcher-grid-icon-size);
	aspect-ratio: 1 / 1;
}

.desktop-icon .app-icon.has-image img,
.launcher-item .app-icon.has-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
}

.desktop-icon .app-icon.is-icon-maskable.has-image img,
.launcher-item .app-icon.is-icon-maskable.has-image img {
	width: 120% !important;
	height: 120% !important;
	margin: -10% !important;
	object-fit: cover !important;
}

.desktop-icon .app-icon svg,
.launcher-item .app-icon svg {
	width: 68% !important;
	height: 68% !important;
}

.desktop-icon .app-icon.is-icon-standalone,
.launcher-item .app-icon.is-icon-standalone {
	overflow: hidden;
}

.desktop-icon .app-icon.is-icon-standalone::before,
.launcher-item .app-icon.is-icon-standalone::before {
	filter: none;
}

.mobile-keyboard {
	position: fixed;
	left: 50%;
	bottom: 1rem;
	z-index: 16000;
	display: grid;
	gap: .42rem;
	width: min(52rem, calc(100vw - 1rem));
	transform: translateX(-50%);
	border: 1px solid rgba(255,255,255,.46);
	border-radius: .95rem;
	background: rgba(255,255,255,.8);
	box-shadow: 0 1.25rem 4rem rgba(15,23,42,.26);
	padding: .55rem;
	backdrop-filter: blur(24px) saturate(150%);
	-webkit-backdrop-filter: blur(24px) saturate(150%);
}

.mobile-keyboard.hidden {
	display: none;
}

.system-keyboard-row {
	display: flex;
	justify-content: center;
	gap: .34rem;
}

.system-key {
	display: grid;
	place-items: center;
	min-width: 2.35rem;
	height: 2.45rem;
	border: 1px solid rgba(148,163,184,.24);
	border-radius: .56rem;
	background: rgba(255,255,255,.72);
	color: #172033;
	font-size: .9rem;
	font-weight: var(--ui-font-weight-strong);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.54), 0 .22rem .6rem rgba(15,23,42,.1);
}

.system-key.is-action {
	min-width: 3.25rem;
	background: color-mix(in srgb,var(--accent) 16%,rgba(255,255,255,.72));
}

.system-key.is-wide {
	flex: 1 1 12rem;
	max-width: 18rem;
}

.system-key:hover,
.system-key:focus-visible {
	background: color-mix(in srgb,var(--accent) 24%,rgba(255,255,255,.78));
	outline: none;
}

body.is-dark .mobile-keyboard {
	border-color: rgba(148,163,184,.28);
	background: rgba(15,23,42,.88);
	box-shadow: 0 1.25rem 4rem rgba(2,6,23,.52);
}

body.is-dark .system-key {
	border-color: rgba(148,163,184,.22);
	background: rgba(30,41,59,.82);
	color: #e5edf8;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 .22rem .6rem rgba(2,6,23,.22);
}

body.is-dark .system-key.is-action,
body.is-dark .system-key:hover,
body.is-dark .system-key:focus-visible {
	background: color-mix(in srgb,var(--accent) 28%,rgba(30,41,59,.88));
}

@media (max-width: 760px) {
	.mobile-keyboard {
		left: 0;
		right: 0;
		bottom: calc(3.75rem + env(safe-area-inset-bottom));
		width: 100%;
		transform: none;
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
		border-radius: 1rem 1rem 0 0;
		padding: .5rem .4rem;
	}

	.system-keyboard-row {
		gap: .24rem;
	}

	.system-key {
		min-width: 0;
		flex: 1 1 0;
		height: 2.35rem;
		border-radius: .5rem;
		font-size: .82rem;
	}

	.system-key.is-action {
		flex: 1.2 1 0;
		min-width: 0;
	}

	.system-key.is-wide {
		flex: 3 1 0;
		max-width: none;
	}
}
/**
 * The built-in keyboard is OS chrome, so it needs a strong final visual contract over native button styling.
 */
.mobile-keyboard {
	isolation: isolate;
	grid-auto-rows: minmax(2.35rem, auto);
	gap: .46rem;
	width: min(54rem, calc(100vw - 1.5rem));
	border: 1px solid color-mix(in srgb,var(--app-chrome-border, rgba(148,163,184,.32)) 78%,rgba(255,255,255,.52));
	border-radius: 1.05rem;
	background:
		linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,255,255,.56)),
		color-mix(in srgb,var(--accent) 8%,rgba(255,255,255,.72));
	box-shadow:
		0 1.35rem 4rem rgba(15,23,42,.28),
		inset 0 1px 0 rgba(255,255,255,.68);
	padding: .68rem;
	backdrop-filter: blur(30px) saturate(170%);
	-webkit-backdrop-filter: blur(30px) saturate(170%);
}

.system-keyboard-row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .36rem;
	min-width: 0;
}

button.system-key {
	appearance: none;
	-webkit-appearance: none;
	position: relative;
	display: grid;
	place-items: center;
	min-width: 2.55rem;
	height: 2.58rem;
	border: 1px solid color-mix(in srgb,var(--accent) 16%,rgba(100,116,139,.26));
	border-radius: .72rem;
	background:
		linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,250,252,.72)),
		color-mix(in srgb,var(--accent) 7%,rgba(255,255,255,.76));
	color: #172033;
	font: inherit;
	font-size: .9rem;
	font-weight: var(--ui-font-weight-strong);
	line-height: 1;
	letter-spacing: 0;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.82),
		inset 0 -2px 0 rgba(15,23,42,.08),
		0 .26rem .72rem rgba(15,23,42,.1);
	cursor: pointer;
	transition: transform .14s ease, background .14s ease, border-color .14s ease, box-shadow .14s ease;
	user-select: none;
}

button.system-key.is-action {
	min-width: 3.75rem;
	background:
		linear-gradient(180deg,color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.94)),color-mix(in srgb,var(--accent) 12%,rgba(248,250,252,.72))),
		rgba(255,255,255,.78);
	color: color-mix(in srgb,var(--accent) 48%,#172033);
}

button.system-key.is-active {
	border-color: color-mix(in srgb,var(--accent) 52%,rgba(100,116,139,.28));
	background:
		linear-gradient(180deg,color-mix(in srgb,var(--accent) 24%,rgba(255,255,255,.96)),color-mix(in srgb,var(--accent) 15%,rgba(248,250,252,.76))),
		rgba(255,255,255,.84);
	color: color-mix(in srgb,var(--accent) 58%,#172033);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.86),
		inset 0 -2px 0 color-mix(in srgb,var(--accent) 26%,rgba(15,23,42,.08)),
		0 .34rem .9rem color-mix(in srgb,var(--accent) 18%,rgba(15,23,42,.12));
}

button.system-key.is-wide {
	flex: 1 1 14rem;
	max-width: 20rem;
}

button.system-key:hover,
button.system-key:focus-visible {
	border-color: color-mix(in srgb,var(--accent) 46%,rgba(100,116,139,.28));
	background:
		linear-gradient(180deg,color-mix(in srgb,var(--accent) 16%,rgba(255,255,255,.96)),color-mix(in srgb,var(--accent) 10%,rgba(248,250,252,.76))),
		rgba(255,255,255,.84);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.86),
		inset 0 -2px 0 color-mix(in srgb,var(--accent) 22%,rgba(15,23,42,.08)),
		0 .34rem .9rem color-mix(in srgb,var(--accent) 18%,rgba(15,23,42,.12));
	outline: none;
	transform: translateY(-1px);
}

button.system-key:active {
	transform: translateY(1px);
	box-shadow:
		inset 0 1px .28rem rgba(15,23,42,.16),
		0 .16rem .36rem rgba(15,23,42,.1);
}

body.is-dark .mobile-keyboard {
	border-color: color-mix(in srgb,var(--accent) 26%,rgba(148,163,184,.28));
	background:
		linear-gradient(180deg,rgba(15,23,42,.86),rgba(15,23,42,.72)),
		color-mix(in srgb,var(--accent) 10%,rgba(15,23,42,.78));
	box-shadow:
		0 1.35rem 4rem rgba(2,6,23,.58),
		inset 0 1px 0 rgba(255,255,255,.08);
}

body.is-dark button.system-key {
	border-color: color-mix(in srgb,var(--accent) 20%,rgba(148,163,184,.22));
	background:
		linear-gradient(180deg,rgba(51,65,85,.86),rgba(15,23,42,.78)),
		color-mix(in srgb,var(--accent) 9%,rgba(15,23,42,.82));
	color: #e5edf8;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.1),
		inset 0 -2px 0 rgba(2,6,23,.28),
		0 .26rem .72rem rgba(2,6,23,.24);
}

body.is-dark button.system-key.is-action {
	background:
		linear-gradient(180deg,color-mix(in srgb,var(--accent) 28%,rgba(51,65,85,.9)),color-mix(in srgb,var(--accent) 15%,rgba(15,23,42,.82))),
		rgba(15,23,42,.84);
	color: color-mix(in srgb,var(--accent) 28%,#f8fafc);
}

body.is-dark button.system-key.is-active {
	border-color: color-mix(in srgb,var(--accent) 52%,rgba(148,163,184,.28));
	background:
		linear-gradient(180deg,color-mix(in srgb,var(--accent) 32%,rgba(51,65,85,.92)),color-mix(in srgb,var(--accent) 18%,rgba(15,23,42,.86))),
		rgba(15,23,42,.88);
	color: color-mix(in srgb,var(--accent) 34%,#f8fafc);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.12),
		inset 0 -2px 0 color-mix(in srgb,var(--accent) 30%,rgba(2,6,23,.3)),
		0 .34rem .9rem rgba(2,6,23,.3);
}

body.is-dark button.system-key:hover,
body.is-dark button.system-key:focus-visible {
	border-color: color-mix(in srgb,var(--accent) 48%,rgba(148,163,184,.28));
	background:
		linear-gradient(180deg,color-mix(in srgb,var(--accent) 24%,rgba(51,65,85,.92)),color-mix(in srgb,var(--accent) 14%,rgba(15,23,42,.86))),
		rgba(15,23,42,.88);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.12),
		inset 0 -2px 0 color-mix(in srgb,var(--accent) 26%,rgba(2,6,23,.3)),
		0 .34rem .9rem rgba(2,6,23,.3);
}

@media (max-width: 760px) {
	.mobile-keyboard {
		left: 0;
		right: 0;
		bottom: calc(3.75rem + env(safe-area-inset-bottom));
		width: 100%;
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
		border-radius: 1.15rem 1.15rem 0 0;
		padding: .62rem .44rem calc(.62rem + env(safe-area-inset-bottom));
	}

	.system-keyboard-row {
		gap: .24rem;
	}

	button.system-key {
		flex: 1 1 0;
		min-width: 0;
		height: 2.46rem;
		border-radius: .62rem;
		font-size: .82rem;
	}

	button.system-key.is-action {
		flex: 1.25 1 0;
		min-width: 0;
	}

	button.system-key.is-wide {
		flex: 3.2 1 0;
		max-width: none;
	}
}.settings-switch-row.is-setting-highlight,.settings-select-row.is-setting-highlight,.settings-section.is-setting-highlight,.settings-section-card.is-setting-highlight,.settings-user-preview.is-setting-highlight,.settings-permissions.is-setting-highlight,.settings-shortcuts.is-setting-highlight,.settings-highlight-surface.is-setting-highlight,.content-row.is-setting-highlight{border-color:color-mix(in srgb,var(--accent) 56%,rgba(255,255,255,.48));background:color-mix(in srgb,var(--accent) 12%,rgba(255,255,255,.74));box-shadow:0 0 0 .22rem color-mix(in srgb,var(--accent) 22%,transparent),0 16px 34px color-mix(in srgb,var(--accent) 18%,transparent),inset 0 1px 0 rgba(255,255,255,.64);animation:settingHighlightBlink .46s ease-in-out 3}body.is-dark .settings-switch-row.is-setting-highlight,body.is-dark .settings-select-row.is-setting-highlight,body.is-dark .settings-section.is-setting-highlight,body.is-dark .settings-section-card.is-setting-highlight,body.is-dark .settings-user-preview.is-setting-highlight,body.is-dark .settings-permissions.is-setting-highlight,body.is-dark .settings-shortcuts.is-setting-highlight,body.is-dark .settings-highlight-surface.is-setting-highlight,body.is-dark .content-row.is-setting-highlight{border-color:color-mix(in srgb,var(--accent) 58%,rgba(148,163,184,.24));background:color-mix(in srgb,var(--accent) 18%,rgba(15,23,42,.72));box-shadow:0 0 0 .22rem color-mix(in srgb,var(--accent) 28%,transparent),0 16px 34px rgba(2,6,23,.32),inset 0 1px 0 rgba(255,255,255,.1)}body.is-reduced-motion .settings-switch-row.is-setting-highlight,body.is-reduced-motion .settings-select-row.is-setting-highlight,body.is-reduced-motion .settings-section.is-setting-highlight,body.is-reduced-motion .settings-section-card.is-setting-highlight,body.is-reduced-motion .settings-user-preview.is-setting-highlight,body.is-reduced-motion .settings-permissions.is-setting-highlight,body.is-reduced-motion .settings-shortcuts.is-setting-highlight,body.is-reduced-motion .settings-highlight-surface.is-setting-highlight,body.is-reduced-motion .content-row.is-setting-highlight{animation:none}@keyframes settingHighlightBlink{0%,100%{border-color:color-mix(in srgb,var(--accent) 56%,rgba(255,255,255,.48));box-shadow:0 0 0 .16rem color-mix(in srgb,var(--accent) 16%,transparent),0 10px 24px color-mix(in srgb,var(--accent) 12%,transparent),inset 0 1px 0 rgba(255,255,255,.6)}50%{border-color:var(--accent);box-shadow:0 0 0 .34rem color-mix(in srgb,var(--accent) 36%,transparent),0 18px 42px color-mix(in srgb,var(--accent) 28%,transparent),inset 0 1px 0 rgba(255,255,255,.72)}}
.desktop-trash-icon.is-svg-icon{overflow:visible;border-radius:0!important;background:transparent;box-shadow:none}.desktop-trash-icon.is-svg-icon::before,.desktop-trash-icon.is-svg-icon::after,.desktop-trash-icon.is-svg-icon span{display:none}.desktop-trash-icon.is-svg-icon svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 .42rem .78rem color-mix(in srgb,var(--accent) 24%,rgba(15,23,42,.18)))}body.is-dark .desktop-trash-icon.is-svg-icon{box-shadow:none}
.desktop-drive-icon.is-svg-icon{overflow:visible;border-radius:0!important;background:transparent;box-shadow:none}.desktop-drive-icon.is-svg-icon::before,.desktop-drive-icon.is-svg-icon::after,.desktop-drive-icon.is-svg-icon span{display:none}.desktop-drive-icon.is-svg-icon svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 .42rem .78rem color-mix(in srgb,var(--accent) 24%,rgba(15,23,42,.18)))}body.is-dark .desktop-drive-icon.is-svg-icon{box-shadow:none}
.desktop-install-icon.is-svg-icon{overflow:visible;border-radius:0!important;background:transparent;box-shadow:none}.desktop-install-icon.is-svg-icon::before,.desktop-install-icon.is-svg-icon::after,.desktop-install-icon.is-svg-icon span{display:none}.desktop-install-icon.is-svg-icon svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 .42rem .78rem color-mix(in srgb,var(--accent) 24%,rgba(15,23,42,.18)))}body.is-dark .desktop-install-icon.is-svg-icon{box-shadow:none}
.app-icon.is-icon-standalone.is-icon-maskable,.mini-app-icon.is-icon-standalone.is-icon-maskable,.window-title-app-icon.is-icon-standalone.is-icon-maskable{overflow:hidden!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.app-icon.is-icon-standalone.is-icon-maskable img,.mini-app-icon.is-icon-standalone.is-icon-maskable img,.window-title-app-icon.is-icon-standalone.is-icon-maskable img{width:120%!important;height:120%!important;margin:-10%!important;object-fit:cover!important;border-radius:inherit!important}
.app-icon.is-icon-boxed,.mini-app-icon.is-icon-boxed,.window-title-app-icon.is-icon-boxed{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 88%,#fff 12%),color-mix(in srgb,var(--accent-2) 82%,var(--accent) 18%))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 .42rem .9rem color-mix(in srgb,var(--accent) 22%,rgba(15,23,42,.18))}body.is-dark .app-icon.is-icon-boxed,body.is-dark .mini-app-icon.is-icon-boxed,body.is-dark .window-title-app-icon.is-icon-boxed{box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 .42rem .9rem rgba(2,6,23,.32)}
@media (max-width:760px){.mobile-launcher-handle{pointer-events:auto!important;touch-action:none!important}}
.window-tab-close,.browser-tab-close{display:grid!important;place-items:center!important;width:1.05rem!important;height:1.05rem!important;min-width:1.05rem!important;border:0!important;background:transparent!important;color:currentColor!important;opacity:.72!important;padding:0!important;pointer-events:auto!important;z-index:1!important}.window-tab-close svg,.browser-tab-close .browser-icon{display:block!important;width:.78rem!important;height:.78rem!important;stroke:currentColor!important}.window-tab-close:hover,.browser-tab-close:hover{background:color-mix(in srgb,var(--accent) 18%,rgba(15,23,42,.1))!important;opacity:1!important}
.office-suite-app{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--window-solid-bg,rgba(255,255,255,.94));color:var(--text)}.office-suite-toolbar,.office-suite-status{display:flex;align-items:center;justify-content:space-between;gap:.7rem;border-color:color-mix(in srgb,var(--accent) 14%,rgba(15,23,42,.12));background:color-mix(in srgb,var(--glass-bg) 92%,rgba(255,255,255,.64));backdrop-filter:blur(var(--panel-blur));-webkit-backdrop-filter:blur(var(--panel-blur))}.office-suite-toolbar{min-height:3.2rem;border-bottom:1px solid color-mix(in srgb,var(--accent) 14%,rgba(15,23,42,.12));padding:.58rem .84rem}.office-suite-toolbar>span:last-child{display:grid;min-width:0;gap:.04rem}.office-suite-toolbar strong{font-size:.92rem;font-weight:650}.office-suite-toolbar small,.office-suite-status{color:var(--muted);font-size:.76rem}.office-suite-toolbar small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.office-suite-icon,.office-suite-mark{display:inline-grid;place-items:center;flex:0 0 auto;border-radius:.78rem;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 88%,#fff 12%),color-mix(in srgb,var(--accent-2) 82%,var(--accent) 18%)),var(--accent);color:#fff;font-weight:760;box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 .46rem 1rem color-mix(in srgb,var(--accent) 22%,rgba(15,23,42,.2))}.office-suite-icon{width:2.1rem;height:2.1rem;font-size:.86rem}.office-suite-mark{width:3.15rem;height:3.15rem;font-size:1.2rem}.office-suite-stage{display:grid;min-height:0;place-items:center;padding:1rem;background:radial-gradient(circle at 24% 18%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,rgba(248,250,252,.96)),rgba(255,255,255,.9))}.office-setup-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1rem;width:min(36rem,100%);border:1px solid color-mix(in srgb,var(--accent) 16%,rgba(15,23,42,.12));border-radius:1rem;padding:1rem;background:color-mix(in srgb,var(--window-solid-bg,rgba(255,255,255,.96)) 92%,rgba(255,255,255,.72));box-shadow:0 1rem 2.5rem rgba(15,23,42,.12)}.office-setup-card h3{margin:0 0 .34rem;font-size:1rem;font-weight:680}.office-setup-card p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.45}.office-setup-card code,.office-setup-card small{display:block;margin-top:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.office-setup-card code{border:1px solid color-mix(in srgb,var(--accent) 16%,rgba(15,23,42,.12));border-radius:.72rem;padding:.58rem .68rem;background:color-mix(in srgb,var(--accent) 7%,rgba(248,250,252,.92));color:var(--text);font-family:var(--mono-font);font-size:.76rem}.office-suite-status{min-height:2rem;border-top:1px solid color-mix(in srgb,var(--accent) 14%,rgba(15,23,42,.12));padding:.32rem .84rem}body.is-dark .office-suite-app{background:color-mix(in srgb,var(--window-solid-bg,rgba(15,23,42,.92)) 92%,rgba(2,6,23,.88))}body.is-dark .office-suite-stage{background:radial-gradient(circle at 24% 18%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,rgba(15,23,42,.9)),rgba(2,6,23,.82))}body.is-dark .office-setup-card{border-color:color-mix(in srgb,var(--accent) 20%,rgba(148,163,184,.18));background:color-mix(in srgb,var(--window-solid-bg,rgba(15,23,42,.92)) 88%,rgba(2,6,23,.82));box-shadow:0 1rem 2.5rem rgba(2,6,23,.38)}body.is-dark .office-setup-card code{border-color:color-mix(in srgb,var(--accent) 22%,rgba(148,163,184,.2));background:color-mix(in srgb,var(--accent) 10%,rgba(15,23,42,.88))}
/** Mobile PWAs paint through notch/status-bar space while controls stay inside safe areas. */html,body{width:100%;height:100%;min-height:100%;margin:0;overflow:hidden;background:#172033}:root{--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--cloudesk-viewport-height:100vh}@supports (height:100svh){:root{--cloudesk-viewport-height:100svh}}@supports (height:100dvh){:root{--cloudesk-viewport-height:100dvh}}#app{width:100vw;height:var(--cloudesk-viewport-height);min-height:var(--cloudesk-viewport-height);max-height:var(--cloudesk-viewport-height);overflow:hidden}@media (max-width:760px){#app.h-screen{height:var(--cloudesk-viewport-height);min-height:var(--cloudesk-viewport-height);max-height:var(--cloudesk-viewport-height)}.status-bar{min-height:calc(1.45rem + var(--safe-area-top));height:calc(1.45rem + var(--safe-area-top));padding-top:var(--safe-area-top);padding-left:calc(.6rem + var(--safe-area-left));padding-right:calc(.6rem + var(--safe-area-right))}.mobile-nav{min-height:calc(3.75rem + var(--safe-area-bottom));height:calc(3.75rem + var(--safe-area-bottom));padding-right:var(--safe-area-right);padding-bottom:var(--safe-area-bottom);padding-left:var(--safe-area-left)}.desktop-wallpaper{inset:0;padding:0 0 calc(4rem + var(--safe-area-bottom))}.mobile-keyboard{bottom:calc(3.75rem + var(--safe-area-bottom));padding:.62rem .44rem calc(.62rem + var(--safe-area-bottom))}}.mobile-launcher-handle{border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:#fff!important;font-size:1.55rem!important;font-weight:700!important;text-shadow:0 .08rem .18rem rgba(15,23,42,.7),0 .22rem .75rem rgba(15,23,42,.42)!important;cursor:default!important}.mobile-launcher-handle:hover,.mobile-launcher-handle:focus-visible{background:transparent!important;box-shadow:none!important;transform:translateX(-50%)!important}body.is-dark .mobile-launcher-handle{border:0!important;background:transparent!important;box-shadow:none!important;color:#fff!important}@media (max-width:760px){.mobile-launcher-handle{display:block}}.mobile-top-menu-button{display:none;place-items:center;flex:0 0 auto;width:1.55rem;height:1.38rem;border-radius:.42rem;background:transparent;color:#172033;transition:background .14s ease,color .14s ease,transform .14s ease}.mobile-top-menu-button span,.mobile-top-menu-button span:before,.mobile-top-menu-button span:after{content:"";display:block;width:.92rem;height:.1rem;border-radius:999px;background:currentColor;box-shadow:0 1px 0 rgba(255,255,255,.22)}.mobile-top-menu-button span{position:relative}.mobile-top-menu-button span:before,.mobile-top-menu-button span:after{position:absolute;left:0}.mobile-top-menu-button span:before{top:-.31rem}.mobile-top-menu-button span:after{top:.31rem}.mobile-top-menu-button:hover,.mobile-top-menu-button:focus-visible,.mobile-top-menu-button[aria-expanded=true]{background:rgba(255,255,255,.58);outline:none}body.is-dark .mobile-top-menu-button{color:#e5edf8}@media (max-width:760px){.menu-zone{gap:.35rem}.mobile-top-menu-button{display:grid;order:0}.menu-app-name{order:1;max-width:min(10rem,38vw);overflow:hidden;text-overflow:ellipsis}.menu-bar{display:none}}@media (max-width:760px){.desktop-wallpaper{padding:0}#windowLayer .os-window.is-active:not(.is-mobile-hidden){left:0!important;top:0!important;width:100%!important;height:100%!important;max-width:none;max-height:none;border-radius:0}#windowLayer .os-window.is-active:not(.is-mobile-hidden) .window-controls,#windowLayer .os-window.is-active:not(.is-mobile-hidden) .resize-handle{display:none!important}#windowLayer .os-window.is-active:not(.is-mobile-hidden) .window-handle{cursor:default}}.mobile-window-menu-button{display:none;place-items:center;flex:0 0 auto;width:2rem;height:2rem;border-radius:.55rem;background:transparent;color:inherit}.mobile-window-menu-button span,.mobile-window-menu-button span:before,.mobile-window-menu-button span:after{content:"";display:block;width:1rem;height:.11rem;border-radius:999px;background:currentColor}.mobile-window-menu-button span{position:relative}.mobile-window-menu-button span:before,.mobile-window-menu-button span:after{position:absolute;left:0}.mobile-window-menu-button span:before{top:-.34rem}.mobile-window-menu-button span:after{top:.34rem}.mobile-window-menu-button:hover,.mobile-window-menu-button:focus-visible,.mobile-window-menu-button[aria-expanded=true]{background:color-mix(in srgb,var(--accent) 16%,rgba(255,255,255,.56));outline:none}.mobile-app-menu-panel{position:absolute;inset:0;z-index:125;display:block;pointer-events:none}.mobile-app-menu-panel.hidden{display:none}.mobile-app-menu-surface{position:absolute;left:0;top:0;bottom:0;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(19rem,82vw);border-radius:0 1rem 1rem 0;pointer-events:auto;animation:mobileAppMenuIn .18s ease both}.mobile-app-menu-head{display:grid;gap:.2rem;border-bottom:1px solid rgba(255,255,255,.36);padding:calc(.9rem + var(--safe-area-top)) .95rem .75rem}.mobile-app-menu-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:var(--ui-font-weight-heavy)}.mobile-app-menu-list{display:grid;align-content:start;gap:.12rem;min-height:0;overflow:auto;padding:.55rem}.mobile-app-menu-item{display:grid;grid-template-columns:1.1rem minmax(0,1fr);align-items:center;gap:.55rem;min-height:2.35rem;border-radius:.65rem;padding:.48rem .62rem .48rem calc(.62rem + (var(--menu-depth,0) * .85rem));color:#172033;text-align:left;font-size:.86rem}.mobile-app-menu-item:hover,.mobile-app-menu-item:focus-visible{background:color-mix(in srgb,var(--accent) 16%,rgba(255,255,255,.58));outline:none}.mobile-app-menu-item:disabled{opacity:.48}.mobile-app-menu-separator{height:1px;margin:.28rem .45rem;background:rgba(100,116,139,.2)}body.is-dark .mobile-app-menu-item{color:#e5edf8}body.is-dark .mobile-app-menu-item:hover,body.is-dark .mobile-app-menu-item:focus-visible{background:color-mix(in srgb,var(--accent) 22%,rgba(30,41,59,.62))}@keyframes mobileAppMenuIn{from{opacity:0;transform:translateX(-1rem)}to{opacity:1;transform:translateX(0)}}@media (max-width:760px){.mobile-top-menu-button{display:none!important}#windowLayer .os-window.is-active:not(.is-mobile-hidden) .window-handle{gap:.35rem}#windowLayer .os-window.is-active:not(.is-mobile-hidden) .mobile-window-menu-button{display:grid}#windowLayer .os-window.is-active:not(.is-mobile-hidden) .mobile-window-menu-button.is-empty,#windowLayer .os-window.is-active:not(.is-mobile-hidden) .mobile-window-menu-button[hidden]{display:none!important}#windowLayer .os-window.is-active:not(.is-mobile-hidden) .window-title-app-icon,#windowLayer .os-window.is-active:not(.is-mobile-hidden) .window-title-favicon{display:none}#windowLayer .os-window.is-active:not(.is-mobile-hidden) .window-title{flex:1 1 auto}}@media (max-width:760px){.menu-app-name{display:none!important}}
@media (max-width:760px){.mobile-launcher-handle{left:50%!important;right:auto!important;display:grid!important;place-items:center!important;pointer-events:none!important;touch-action:auto!important;text-align:center!important}.mobile-launcher-handle::before{content:"";display:block;width:.92rem;height:.92rem;transform:rotate(45deg);border-top:.16rem solid currentColor;border-left:.16rem solid currentColor;filter:drop-shadow(0 .08rem .12rem rgba(15,23,42,.72)) drop-shadow(0 .2rem .55rem rgba(15,23,42,.42))}}
@media (max-width:760px){.mobile-launcher-handle{z-index:3!important;width:2.1rem!important;height:1.05rem!important}.mobile-launcher-handle::before{width:.62rem!important;height:.62rem!important;border-top-width:.12rem!important;border-left-width:.12rem!important}}
.os-window[data-app-id=files] .file-main.app-main-surface{grid-template-rows:auto minmax(0,1fr) auto}.os-window[data-app-id=files] .file-main-top{position:relative;z-index:4;border-bottom:1px solid rgba(148,163,184,.18)!important;padding:.55rem .8rem .5rem}.os-window[data-app-id=files] .file-ribbon{margin:0!important;border:0!important;padding:0!important}.os-window[data-app-id=files] .file-main-content{display:grid;min-height:0;overflow:hidden;padding:0!important}.os-window[data-app-id=files] .file-table{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;margin:0!important;border-width:0!important;border-radius:0!important;background:var(--app-surface-solid);overflow:hidden}.os-window[data-app-id=files] .file-table-head{position:relative;top:auto;z-index:3;border-bottom:1px solid rgba(148,163,184,.18);background:color-mix(in srgb,var(--app-surface-solid) 88%,rgba(248,250,252,.78))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.32)}.os-window[data-app-id=files] .file-table-body{min-height:0;overflow:auto}.os-window[data-app-id=files] .file-table.is-icons-view{grid-template-rows:minmax(0,1fr)}.os-window[data-app-id=files] .file-table.is-icons-view .file-table-body{padding:.5rem}.os-window[data-app-id=files] .file-status-bar{border-top:1px solid rgba(148,163,184,.18);background:var(--app-surface-solid)}body.is-dark .os-window[data-app-id=files] .file-main-top,body.is-dark .os-window[data-app-id=files] .file-table-head,body.is-dark .os-window[data-app-id=files] .file-status-bar{border-color:rgba(148,163,184,.16)!important}body.is-dark .os-window[data-app-id=files] .file-table-head{background:color-mix(in srgb,var(--app-surface-solid) 86%,rgba(15,23,42,.72))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.os-window[data-app-id=files] .file-main-top{padding:.42rem .55rem .38rem}.os-window[data-app-id=files] .file-command-area{display:grid;gap:.38rem;margin:0!important;border:0!important;padding:0!important}.file-location-bar{display:grid;grid-template-columns:auto minmax(8rem,1fr) minmax(10rem,18rem);align-items:center;gap:.42rem;min-width:0}.file-nav-buttons,.file-action-bar,.file-toolbar-group{display:flex;align-items:center;gap:.3rem;min-width:0}.file-action-bar{justify-content:space-between;flex-wrap:wrap;gap:.38rem .55rem}.file-icon-button{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid transparent;border-radius:.5rem;background:transparent;color:color-mix(in srgb,var(--text) 78%,var(--muted));transition:background .14s ease,border-color .14s ease,color .14s ease,opacity .14s ease}.file-icon-button:hover,.file-icon-button:focus-visible{border-color:color-mix(in srgb,var(--accent) 22%,rgba(148,163,184,.22));background:color-mix(in srgb,var(--accent) 10%,rgba(255,255,255,.46));color:var(--text);outline:none}.file-icon-button:disabled{cursor:default;opacity:.38}.file-toolbar-icon{display:block;width:1.05rem;height:1.05rem;flex:0 0 auto}svg.file-toolbar-icon{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.system-ui-icon{background:currentColor;mask:var(--system-icon-url) center/contain no-repeat;-webkit-mask:var(--system-icon-url) center/contain no-repeat}.file-location-bar .file-breadcrumbs{min-height:2rem;border:1px solid color-mix(in srgb,var(--accent) 10%,rgba(148,163,184,.18));border-radius:.58rem;background:color-mix(in srgb,var(--app-surface-solid) 84%,rgba(255,255,255,.44));margin:0;padding:.2rem .32rem;overflow:hidden;white-space:nowrap}.file-search-box{position:relative;display:flex;align-items:center;min-width:0;height:2rem}.file-search-icon{position:absolute;left:.62rem;display:grid;place-items:center;color:var(--muted);pointer-events:none}.file-search-box input{width:100%;height:100%;border:1px solid color-mix(in srgb,var(--accent) 10%,rgba(148,163,184,.2));border-radius:.58rem;background:color-mix(in srgb,var(--app-surface-solid) 86%,rgba(255,255,255,.48));padding:.28rem .7rem .28rem 2.05rem;color:var(--text);font-size:.82rem;outline:none}.file-search-box input:focus{border-color:color-mix(in srgb,var(--accent) 42%,rgba(148,163,184,.24));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 14%,transparent)}body.is-dark .file-location-bar .file-breadcrumbs,body.is-dark .file-search-box input{border-color:rgba(148,163,184,.16);background:color-mix(in srgb,var(--app-surface-solid) 76%,rgba(30,41,59,.56))}@media (max-width:760px){.file-location-bar{grid-template-columns:auto minmax(0,1fr)}.file-search-box{grid-column:1/-1}}

/** Polished native chrome for Files and Browser. */
.os-window[data-app-id=files] .window-title-tabs .window-tabs,
.os-window[data-app-id=browser] .window-title-tabs .window-tabs,
.os-window[data-app-id=files].is-topbar-merged .topbar-window-tabs .window-tabs,
.os-window[data-app-id=browser].is-topbar-merged .topbar-window-tabs .window-tabs {
	gap: .12rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	padding: 0;
}

.browser-tabs {
	gap: .12rem;
	border: 1px solid color-mix(in srgb,var(--accent) 8%,rgba(100,116,139,.18));
	border-radius: .78rem;
	background: color-mix(in srgb,var(--app-chrome-blur) 68%,rgba(255,255,255,.2));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.45),0 .35rem 1rem rgba(15,23,42,.045);
	padding: .14rem;
}

.os-window[data-app-id=files] .window-tab,
.os-window[data-app-id=browser] .window-tab,
.browser-tab {
	min-height: 1.95rem;
	border-radius: .62rem !important;
	padding: .32rem .52rem;
	color: color-mix(in srgb,var(--text) 76%,var(--muted));
	font-size: .8rem;
	font-weight: var(--ui-font-weight-medium);
}

.os-window[data-app-id=files] .window-tab:hover,
.os-window[data-app-id=files] .window-tab:focus-visible,
.os-window[data-app-id=browser] .window-tab:hover,
.os-window[data-app-id=browser] .window-tab:focus-visible,
.browser-tab:hover,
.browser-tab:focus-visible {
	background: color-mix(in srgb,var(--accent) 10%,rgba(255,255,255,.42)) !important;
	color: var(--text);
}

.os-window[data-app-id=files] .window-tab.is-active,
.os-window[data-app-id=browser] .window-tab.is-active,
.browser-tab.is-active {
	border-color: color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.48)) !important;
	background: color-mix(in srgb,var(--app-surface-solid) 88%,rgba(255,255,255,.5)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.55),0 .28rem .85rem rgba(15,23,42,.08) !important;
	color: var(--text);
}

.os-window[data-app-id=files] .window-tab.is-active::after,
.os-window[data-app-id=browser] .window-tab.is-active::after,
.browser-tab.is-active::after {
	left: .62rem;
	right: .62rem;
	bottom: .12rem;
	height: .1rem;
	background: linear-gradient(90deg,var(--accent),var(--accent-2));
}

.browser-shell {
	gap: 0;
	background: var(--app-surface-solid);
}

.browser-toolbar,
.browser-meta {
	border-bottom: 1px solid color-mix(in srgb,var(--accent) 8%,rgba(100,116,139,.18));
	background: color-mix(in srgb,var(--app-chrome-blur) 70%,rgba(255,255,255,.18));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.38);
	backdrop-filter: blur(22px) saturate(145%);
	-webkit-backdrop-filter: blur(22px) saturate(145%);
}

.browser-toolbar {
	grid-template-columns: repeat(3,2.05rem) minmax(0,1fr) repeat(2,2.05rem);
	gap: .28rem;
	padding: .42rem .55rem;
}

.browser-nav-button,
.file-icon-button {
	width: 2.05rem;
	height: 2.05rem;
	border: 1px solid transparent;
	border-radius: .58rem;
	background: transparent;
	color: color-mix(in srgb,var(--text) 76%,var(--muted));
}

.browser-nav-button:hover,
.browser-nav-button:focus-visible,
.file-icon-button:hover,
.file-icon-button:focus-visible {
	border-color: color-mix(in srgb,var(--accent) 20%,rgba(148,163,184,.2));
	background: color-mix(in srgb,var(--accent) 11%,rgba(255,255,255,.48));
	color: var(--text);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.34);
}

.browser-address,
.file-search-box input,
.file-location-bar .file-breadcrumbs {
	border: 1px solid color-mix(in srgb,var(--accent) 10%,rgba(100,116,139,.2));
	border-radius: .68rem;
	background: color-mix(in srgb,var(--app-surface-solid) 88%,rgba(255,255,255,.5));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
}

.browser-address {
	height: 2.05rem;
	padding: .32rem .72rem;
	font-size: .84rem;
}

.browser-address:focus,
.file-search-box input:focus {
	border-color: color-mix(in srgb,var(--accent) 46%,rgba(100,116,139,.24));
	box-shadow: 0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent),inset 0 1px 0 rgba(255,255,255,.5);
}

.browser-meta {
	display: flex;
	align-items: center;
	gap: .7rem;
	min-height: 1.65rem;
	padding: .22rem .65rem;
	color: color-mix(in srgb,var(--text) 54%,var(--muted));
	font-size: .72rem;
}

.browser-content,
.browser-frame-host,
.browser-native-surface,
.browser-start {
	background: var(--app-surface-solid);
}

.os-window[data-app-id=files] .file-main-top {
	border-bottom: 1px solid color-mix(in srgb,var(--accent) 8%,rgba(100,116,139,.18)) !important;
	background: color-mix(in srgb,var(--app-chrome-blur) 70%,rgba(255,255,255,.18));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.38);
	backdrop-filter: blur(22px) saturate(145%);
	-webkit-backdrop-filter: blur(22px) saturate(145%);
}

.file-location-bar {
	grid-template-columns: auto minmax(10rem,1fr) minmax(12rem,19rem);
	gap: .5rem;
}

.file-action-bar {
	justify-content: flex-start;
	gap: .38rem;
}

.file-toolbar-group {
	border: 1px solid color-mix(in srgb,var(--accent) 8%,rgba(100,116,139,.16));
	border-radius: .72rem;
	background: color-mix(in srgb,var(--app-surface-solid) 72%,rgba(255,255,255,.24));
	padding: .14rem;
}

.file-toolbar-group:empty {
	display: none;
}

.file-toolbar-group .control-button,
.file-toolbar-group .primary-button {
	min-height: 1.95rem;
	border-radius: .56rem;
	padding: .34rem .68rem;
	font-size: .8rem;
	box-shadow: none;
}

.file-location-bar .file-breadcrumbs {
	min-height: 2.05rem;
	padding: .18rem .34rem;
}

.file-breadcrumb {
	border-radius: .48rem;
	padding: .24rem .46rem;
}

.file-breadcrumb:hover,
.file-breadcrumb:focus-visible {
	background: color-mix(in srgb,var(--accent) 11%,rgba(255,255,255,.42));
}

.os-window[data-app-id=files] .file-table-head {
	background: color-mix(in srgb,var(--app-surface-solid) 94%,rgba(255,255,255,.42)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.45),0 .22rem .65rem rgba(15,23,42,.035);
}

.os-window[data-app-id=files] .file-row {
	border-radius: 0;
}

.os-window[data-app-id=files] .file-row:hover,
.os-window[data-app-id=files] .file-icon-tile:hover {
	background: color-mix(in srgb,var(--accent) 8%,rgba(255,255,255,.36));
}

.os-window[data-app-id=files] .file-row.is-selected,
.os-window[data-app-id=files] .file-icon-tile.is-selected {
	background: color-mix(in srgb,var(--accent) 16%,rgba(255,255,255,.42));
	box-shadow: inset .18rem 0 0 var(--accent);
}

body.is-dark .os-window[data-app-id=files] .window-title-tabs .window-tabs,
body.is-dark .os-window[data-app-id=browser] .window-title-tabs .window-tabs,
body.is-dark .os-window[data-app-id=files].is-topbar-merged .topbar-window-tabs .window-tabs,
body.is-dark .os-window[data-app-id=browser].is-topbar-merged .topbar-window-tabs .window-tabs {
	border-color: transparent !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.is-dark .browser-tabs,
body.is-dark .browser-toolbar,
body.is-dark .browser-meta,
body.is-dark .os-window[data-app-id=files] .file-main-top {
	border-color: rgba(148,163,184,.16) !important;
	background: color-mix(in srgb,var(--app-chrome-blur) 76%,rgba(15,23,42,.34));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

body.is-dark .os-window[data-app-id=files] .window-tab.is-active,
body.is-dark .os-window[data-app-id=browser] .window-tab.is-active,
body.is-dark .browser-tab.is-active {
	border-color: color-mix(in srgb,var(--accent) 28%,rgba(148,163,184,.18)) !important;
	background: color-mix(in srgb,var(--app-surface-solid) 76%,rgba(30,41,59,.74)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.08),0 .28rem .85rem rgba(2,6,23,.2) !important;
}

body.is-dark .browser-address,
body.is-dark .file-search-box input,
body.is-dark .file-location-bar .file-breadcrumbs,
body.is-dark .file-toolbar-group {
	border-color: rgba(148,163,184,.16);
	background: color-mix(in srgb,var(--app-surface-solid) 78%,rgba(15,23,42,.36));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

@media (max-width: 760px) {
	.os-window[data-app-id=files] .window-tab,
	.os-window[data-app-id=browser] .window-tab,
	.browser-tab {
		flex-basis: 8rem;
		width: 8rem;
		max-width: 8rem;
	}

	.browser-toolbar {
		grid-template-columns: repeat(5,2.05rem);
		grid-auto-rows: 2.05rem;
		justify-content: start;
		overflow-x: auto;
		padding: .38rem .48rem;
	}

	.browser-address-form {
		grid-column: 1 / -1;
		grid-row: 2;
		min-width: min(18rem,calc(100vw - 2rem));
	}

	.browser-meta {
		flex-wrap: wrap;
		gap: .28rem .55rem;
	}

	.file-location-bar {
		grid-template-columns: auto minmax(0,1fr);
	}

	.file-search-box {
		grid-column: 1 / -1;
	}

	.file-action-bar {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: .08rem;
	}

	.file-toolbar-group {
		flex: 0 0 auto;
	}
}

.os-window[data-app-id=files].has-window-tabs .window-title,
.os-window[data-app-id=browser].has-window-tabs .window-title {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	max-width: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

.os-window[data-app-id=files].has-window-tabs .window-title-tabs,
.os-window[data-app-id=browser].has-window-tabs .window-title-tabs {
	margin-left: 0;
}

.os-window[data-app-id=files] .file-table-body {
	align-content: start;
	grid-auto-rows: min-content;
}

.os-window[data-app-id=files] .file-row {
	min-height: 2.9rem;
}

.os-window[data-app-id=files] .file-table.is-icons-view .file-table-body {
	align-content: start;
	grid-auto-rows: auto;
}

.os-window[data-app-id=files] .file-action-bar {
	border-top: 1px solid color-mix(in srgb,var(--accent) 7%,rgba(100,116,139,.16));
	background: color-mix(in srgb,var(--app-surface-solid) 46%,rgba(255,255,255,.08));
	margin: .02rem -.55rem -.38rem;
	padding: .34rem .55rem .38rem;
}

.os-window[data-app-id=files] .file-toolbar-group {
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 0;
}

body.is-dark .os-window[data-app-id=files] .file-action-bar {
	border-color: rgba(148,163,184,.12);
	background: color-mix(in srgb,var(--app-surface-solid) 38%,rgba(15,23,42,.22));
}

.os-window[data-app-id=files] .file-main-content.is-home-view {
	display: block;
	min-height: 0;
	overflow: auto;
	background: var(--app-surface-solid);
}

.os-window[data-app-id=files] .file-home-view {
	display: grid;
	align-content: start;
	gap: 1.15rem;
	min-height: 100%;
	padding: 1rem;
}

.os-window[data-app-id=files] .file-home-section {
	display: grid;
	gap: .68rem;
	min-width: 0;
}

.os-window[data-app-id=files] .file-home-group-title {
	display: flex;
	align-items: center;
	gap: .48rem;
	width: 100%;
	min-height: 1.85rem;
	border: 0;
	border-radius: .5rem;
	background: transparent;
	padding: .18rem .16rem;
	color: var(--muted);
	font-size: .78rem;
	font-weight: var(--ui-font-weight-heavy);
	letter-spacing: .02em;
	text-align: left;
	text-transform: uppercase;
}

.os-window[data-app-id=files] .file-home-group-title span {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.os-window[data-app-id=files] .file-home-group-title svg {
	order: -1;
	width: .9rem;
	height: .9rem;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	opacity: .72;
	transform: rotate(90deg);
	transition: transform .16s ease,opacity .16s ease;
}

.os-window[data-app-id=files] .file-home-section.is-collapsed .file-home-group-title svg {
	transform: rotate(0deg);
}

.os-window[data-app-id=files] .file-home-group-title:hover,
.os-window[data-app-id=files] .file-home-group-title:focus-visible {
	background: color-mix(in srgb,var(--accent) 7%,transparent);
	color: var(--text);
	outline: none;
}

.os-window[data-app-id=files] .file-home-icon-grid,
.os-window[data-app-id=files] .file-home-drive-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill,minmax(8.8rem,1fr));
	gap: .72rem;
}

.os-window[data-app-id=files] .file-home-drive-grid {
	grid-template-columns: repeat(auto-fill,minmax(13rem,1fr));
}

.os-window[data-app-id=files] .file-home-card {
	display: grid;
	align-content: start;
	justify-items: center;
	gap: .52rem;
	min-width: 0;
	min-height: 8.4rem;
	border: 1px solid rgba(148,163,184,.16);
	border-radius: .72rem;
	background: color-mix(in srgb,var(--app-surface-solid) 88%,rgba(255,255,255,.34));
	padding: .85rem .72rem;
	color: var(--text);
	text-align: center;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.32);
}

.os-window[data-app-id=files] .file-home-card .file-icon-art {
	width: 3.6rem;
	height: 3.35rem;
}

.os-window[data-app-id=files] .file-home-card.is-drive {
	grid-template-columns: auto minmax(0,1fr);
	align-items: center;
	justify-items: start;
	min-height: 6.4rem;
	text-align: left;
}

.os-window[data-app-id=files] .file-home-card.is-drive .file-home-drive-usage {
	grid-column: 1 / -1;
}

.os-window[data-app-id=files] .file-home-card:hover,
.os-window[data-app-id=files] .file-home-card:focus-visible,
.os-window[data-app-id=files] .file-home-recent-row:hover,
.os-window[data-app-id=files] .file-home-recent-row:focus-visible {
	background: color-mix(in srgb,var(--accent) 8%,rgba(255,255,255,.38));
	outline: none;
}

.os-window[data-app-id=files] .file-home-card.is-selected,
.os-window[data-app-id=files] .file-home-recent-row.is-selected {
	background: color-mix(in srgb,var(--accent) 16%,rgba(255,255,255,.42));
	box-shadow: inset .18rem 0 0 var(--accent);
}

.os-window[data-app-id=files] .file-home-card-copy {
	display: grid;
	gap: .12rem;
	min-width: 0;
	width: 100%;
}

.os-window[data-app-id=files] .file-home-card-copy strong,
.os-window[data-app-id=files] .file-home-card-copy small,
.os-window[data-app-id=files] .file-home-recent-row strong,
.os-window[data-app-id=files] .file-home-recent-row small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.os-window[data-app-id=files] .file-home-card-copy strong {
	font-size: .82rem;
	font-weight: var(--ui-font-weight-strong);
}

.os-window[data-app-id=files] .file-home-card-copy small,
.os-window[data-app-id=files] .file-home-recent-row small,
.os-window[data-app-id=files] .file-home-recent-meta {
	color: var(--muted);
	font-size: .72rem;
}

.os-window[data-app-id=files] .file-home-drive-usage {
	display: grid;
	gap: .3rem;
	width: 100%;
	margin-top: .1rem;
}

.os-window[data-app-id=files] .file-home-drive-bar {
	display: block;
	height: .34rem;
	border-radius: 999px;
	background: color-mix(in srgb,var(--muted) 18%,transparent);
	overflow: hidden;
}

.os-window[data-app-id=files] .file-home-drive-bar span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg,var(--accent),var(--accent-2));
}

.os-window[data-app-id=files] .file-home-recent-list {
	display: grid;
	border: 1px solid rgba(148,163,184,.16);
	border-radius: .72rem;
	background: color-mix(in srgb,var(--app-surface-solid) 92%,rgba(255,255,255,.22));
	overflow: hidden;
}

.os-window[data-app-id=files] .file-home-recent-row {
	display: grid;
	grid-template-columns: minmax(0,1fr) 6rem 11rem;
	align-items: center;
	gap: .65rem;
	width: 100%;
	min-height: 2.9rem;
	border: 0;
	border-bottom: 1px solid rgba(148,163,184,.13);
	background: transparent;
	padding: 0;
	color: var(--text);
	text-align: left;
}

.os-window[data-app-id=files] .file-home-recent-row:last-child {
	border-bottom: 0;
}

.os-window[data-app-id=files] .file-home-recent-row .file-name-cell {
	padding: .58rem .7rem;
}

.os-window[data-app-id=files] .file-home-recent-meta {
	padding: .58rem .7rem;
	white-space: nowrap;
}

body.is-dark .os-window[data-app-id=files] .file-home-card,
body.is-dark .os-window[data-app-id=files] .file-home-recent-list {
	border-color: rgba(148,163,184,.18);
	background: color-mix(in srgb,var(--app-surface-solid) 88%,rgba(15,23,42,.24));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

@media (max-width: 720px) {
	.os-window[data-app-id=files] .file-home-view {
		padding: .75rem;
	}

	.os-window[data-app-id=files] .file-home-icon-grid,
	.os-window[data-app-id=files] .file-home-drive-grid {
		grid-template-columns: repeat(auto-fill,minmax(7.4rem,1fr));
	}

	.os-window[data-app-id=files] .file-home-card.is-drive,
	.os-window[data-app-id=files] .file-home-recent-row {
		grid-template-columns: minmax(0,1fr);
	}

	.os-window[data-app-id=files] .file-home-recent-meta {
		display: none;
	}
}

body.is-dark .os-window[data-app-id=files] .file-toolbar-group {
	border-color: transparent;
	background: transparent;
	box-shadow: none;
}

.os-window[data-app-id=files] .file-location-bar {
	grid-template-columns: auto minmax(16rem,1fr) clamp(9rem,18vw,14rem);
}

.os-window[data-app-id=files].has-window-tabs .window-title,
.os-window[data-app-id=browser].has-window-tabs .window-title {
	display: inline-flex !important;
	flex: 0 0 auto;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	overflow: visible !important;
}

.os-window[data-app-id=files].has-window-tabs .window-title-label,
.os-window[data-app-id=browser].has-window-tabs .window-title-label {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	max-width: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

.os-window[data-app-id=files].has-window-tabs .window-title-tabs,
.os-window[data-app-id=browser].has-window-tabs .window-title-tabs {
	margin-left: .45rem;
}

.os-window[data-app-id=files] .window-title-tabs .window-tab,
.os-window[data-app-id=browser] .window-title-tabs .window-tab,
.os-window[data-app-id=files].is-topbar-merged .topbar-window-tabs .window-tab,
.os-window[data-app-id=browser].is-topbar-merged .topbar-window-tabs .window-tab {
	flex: 0 1 9.25rem;
	width: 9.25rem;
	max-width: 9.25rem;
}

.desktop-icon.is-folder-drop-target {
	border-color: color-mix(in srgb,var(--accent) 62%,rgba(255,255,255,.6));
	background: color-mix(in srgb,var(--accent) 22%,rgba(255,255,255,.24));
	box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--accent) 44%,transparent), 0 .75rem 2rem color-mix(in srgb,var(--accent) 22%,rgba(15,23,42,.16));
	backdrop-filter: blur(18px) saturate(145%);
	-webkit-backdrop-filter: blur(18px) saturate(145%);
}

body.is-dark .desktop-icon.is-folder-drop-target {
	border-color: rgba(148,163,184,.28);
	background: rgba(15,23,42,.34);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 .65rem 1.8rem rgba(2,6,23,.24);
}

.desktop-folder-icon {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: .22rem;
	width: 2.9rem;
	height: 2.9rem;
	border: 1px solid rgba(255,255,255,.5);
	border-radius: .72rem;
	background: linear-gradient(145deg,color-mix(in srgb,var(--accent) 34%,#fff 66%),color-mix(in srgb,var(--accent-2) 72%,var(--accent) 28%));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.42),0 .62rem 1.2rem color-mix(in srgb,var(--accent) 22%,rgba(15,23,42,.2));
	padding: .42rem;
}

.desktop-folder-icon span {
	display: block;
	border-radius: .28rem;
	background: rgba(255,255,255,.72);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.52);
}

body.is-dark .desktop-folder-icon {
	border-color: rgba(148,163,184,.3);
	background: linear-gradient(145deg,color-mix(in srgb,var(--accent) 34%,#1e293b 66%),color-mix(in srgb,var(--accent-2) 58%,#0f172a 42%));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.12),0 .62rem 1.2rem rgba(2,6,23,.34);
}

.desktop-folder-dialog-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill,minmax(5.8rem,1fr));
	gap: .7rem;
	margin-top: .2rem;
}

.desktop-folder-dialog-item {
	display: grid;
	justify-items: center;
	gap: .45rem;
	min-height: 6.4rem;
	border: 1px solid rgba(148,163,184,.18);
	border-radius: .75rem;
	background: color-mix(in srgb,var(--app-surface-solid) 86%,rgba(255,255,255,.42));
	padding: .75rem .55rem;
	color: var(--text);
	text-align: center;
}

.desktop-folder-dialog-item:hover,
.desktop-folder-dialog-item:focus-visible,
.desktop-folder-dialog-item.is-selected {
	border-color: color-mix(in srgb,var(--accent) 28%,rgba(148,163,184,.24));
	background: color-mix(in srgb,var(--accent) 12%,rgba(255,255,255,.46));
	outline: none;
}

.desktop-folder-dialog-item span:last-child {
	overflow: hidden;
	max-width: 5.4rem;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: .78rem;
	font-weight: var(--ui-font-weight-strong);
}

.launcher-title-row {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	align-items: center;
	gap: .65rem;
}

.launcher-user-preview {
	display: grid;
	grid-template-columns: auto minmax(0,1fr);
	align-items: center;
	gap: .65rem;
	width: 100%;
	min-height: 3rem;
	min-width: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	padding: 0;
}

.launcher-user-avatar {
	display: grid;
	place-items: center;
	width: 2.55rem;
	height: 2.55rem;
	border-radius: .72rem;
	background: linear-gradient(135deg,var(--accent),var(--accent-2));
	color: #fff;
	font-size: .9rem;
	font-weight: 800;
	letter-spacing: 0;
	overflow: hidden;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.28);
}

.launcher-user-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.launcher-user-copy {
	display: grid;
	gap: .12rem;
	min-width: 0;
}

.launcher-user-copy strong,
.launcher-user-copy small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.launcher-user-copy strong {
	font-size: .9rem;
	font-weight: var(--ui-font-weight-strong);
	line-height: 1.18;
}

.launcher-user-copy small {
	color: #64748b;
	font-size: .72rem;
	line-height: 1.25;
}

.launcher-header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: .25rem;
}

.launcher-icon-button {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 2.35rem;
	height: 2.35rem;
	border: 0;
	border-radius: .65rem;
	background: transparent;
	padding: 0;
	color: var(--text);
}

.launcher-icon-button:hover,
.launcher-icon-button:focus-visible {
	background: color-mix(in srgb,var(--accent) 10%,rgba(255,255,255,.32));
	outline: none;
}

.launcher-power span {
	position: relative;
	width: 1rem;
	height: 1rem;
	border: .13rem solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
}

.launcher-power span::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -.32rem;
	width: .13rem;
	height: .62rem;
	border-radius: 999px;
	background: currentColor;
	transform: translateX(-50%);
}

.launcher-settings span {
	position: relative;
	width: 1.08rem;
	height: 1.08rem;
	border: .14rem solid currentColor;
	border-radius: 50%;
}

.launcher-settings span::before {
	content: "";
	position: absolute;
	inset: .26rem;
	border-radius: 50%;
	background: currentColor;
}

.launcher-settings span::after {
	content: "";
	position: absolute;
	inset: -.38rem;
	background: currentColor;
	-webkit-mask: radial-gradient(circle,currentColor 40%,transparent 42%),linear-gradient(currentColor 0 0) center top / .18rem .32rem no-repeat,linear-gradient(currentColor 0 0) center bottom / .18rem .32rem no-repeat,linear-gradient(currentColor 0 0) left center / .32rem .18rem no-repeat,linear-gradient(currentColor 0 0) right center / .32rem .18rem no-repeat;
	mask: radial-gradient(circle,currentColor 40%,transparent 42%),linear-gradient(currentColor 0 0) center top / .18rem .32rem no-repeat,linear-gradient(currentColor 0 0) center bottom / .18rem .32rem no-repeat,linear-gradient(currentColor 0 0) left center / .32rem .18rem no-repeat,linear-gradient(currentColor 0 0) right center / .32rem .18rem no-repeat;
}

body.is-dark .launcher-user-preview {
	background: transparent;
	box-shadow: none;
}

body.is-dark .launcher-user-copy small {
	color: #94a3b8;
}

@media (max-width: 760px) {
	.desktop-icon {
		align-content: center;
		gap: .42rem;
		padding: .35rem .25rem;
	}

	.desktop-icon small {
		display: none;
	}

	.desktop-icon strong {
		max-width: 100%;
		font-size: .72rem;
		line-height: .95rem;
	}
}

.mobile-home-page-dots {
	display: none;
	align-items: center;
	justify-content: center;
	gap: .32rem;
	max-width: min(9rem,54vw);
	padding: .18rem .34rem;
	border-radius: 999px;
	background: rgba(15,23,42,.22);
	box-shadow: 0 .2rem .85rem rgba(15,23,42,.22);
	backdrop-filter: blur(12px) saturate(140%);
	-webkit-backdrop-filter: blur(12px) saturate(140%);
}

.mobile-home-page-dots span {
	display: block;
	width: .34rem;
	height: .34rem;
	border-radius: 999px;
	background: rgba(255,255,255,.54);
	box-shadow: 0 .04rem .16rem rgba(15,23,42,.28);
	transition: width .16s ease, background .16s ease, opacity .16s ease;
}

.mobile-home-page-dots span.is-active {
	width: .92rem;
	background: rgba(255,255,255,.96);
}

.mobile-launcher-handle.is-page-indicator-active::before {
	display: none;
}

.mobile-launcher-handle.is-page-indicator-active .mobile-home-page-dots {
	display: flex;
}

@media (max-width: 760px) {
	body.is-pwa-display #clock {
		grid-column: 1;
		justify-self: start;
		text-align: left;
	}
}

@media (max-width: 760px) {
	body.is-pwa-display .launcher-panel {
		position: fixed;
		inset: 0;
		z-index: 14000;
		display: grid;
		grid-template-rows: auto minmax(0,1fr);
		width: 100vw;
		max-width: none;
		height: var(--cloudesk-viewport-height);
		max-height: none;
		border: 0;
		border-radius: 0;
		padding:
			calc(.85rem + var(--safe-area-top))
			calc(.85rem + var(--safe-area-right))
			calc(.85rem + var(--safe-area-bottom))
			calc(.85rem + var(--safe-area-left));
		overflow: hidden;
	}

	body.is-pwa-display .launcher-panel.hidden {
		display: none;
	}

	body.is-pwa-display .launcher-head {
		min-width: 0;
	}

	body.is-pwa-display .launcher-grid {
		min-height: 0;
		max-height: none;
		overflow: auto;
		overscroll-behavior: contain;
	}
}

@media (max-width: 760px) {
	body.is-pwa-display .os-window[data-app-id=files] .file-manager.app-layout-sidebar {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	body.is-pwa-display .os-window[data-app-id=files] .file-sidebar.app-side-panel {
		display: none;
	}

	body.is-pwa-display .os-window[data-app-id=files] .file-main.app-main-surface {
		min-width: 0;
	}
}

.file-transfer-progress {
	position: fixed;
	right: calc(1rem + var(--safe-area-right));
	bottom: calc(4.25rem + var(--safe-area-bottom));
	z-index: 14500;
	display: grid;
	gap: .5rem;
	width: min(22rem, calc(100vw - 2rem));
	border: 1px solid var(--app-chrome-border);
	border-radius: .8rem;
	padding: .8rem;
	color: var(--text);
	pointer-events: auto;
}

.file-transfer-progress header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	font-size: .88rem;
}

.file-transfer-progress header span,
.file-transfer-progress p {
	color: var(--muted);
	font-size: .76rem;
}

.file-transfer-progress-actions {
	display: flex;
	align-items: center;
	gap: .5rem;
}

.file-transfer-progress-actions button {
	border: 0;
	border-radius: .35rem;
	padding: .2rem .4rem;
	background: transparent;
	color: var(--text);
	font: inherit;
	cursor: pointer;
}

.file-transfer-progress-actions button:hover,
.file-transfer-progress-actions button:focus-visible {
	background: var(--menu-hover);
}

.file-transfer-progress p {
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.file-transfer-progress-bar {
	height: .42rem;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(148, 163, 184, .28);
}

.file-transfer-progress-bar span {
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--accent), var(--accent-2));
	transition: width .18s ease;
}

.file-transfer-progress.is-complete .file-transfer-progress-bar span {
	background: linear-gradient(90deg, #22c55e, #14b8a6);
}

.file-transfer-progress.is-error .file-transfer-progress-bar span {
	background: linear-gradient(90deg, #ef4444, #f97316);
}

.file-transfer-progress.is-cancelled .file-transfer-progress-bar span {
	background: var(--muted);
}
