:root{color-scheme:light dark;--bg: light-dark(#dfe6ee, #11151b);--surface: light-dark(#ffffff, #1b2028);--titlebar: light-dark(#eef1f5, #232a34);--border: light-dark(#c5ccd6, #323b48);--text: light-dark(#1b1f24, #e8ecf1);--accent: #3b6fe0;--danger: #d6453d;--taskbar: #1f2630;--taskbar-text: #e8ecf1;--radius: 10px;--shadow: 0 12px 32px rgb(0 0 0 / .28);--shadow-inactive: 0 4px 14px rgb(0 0 0 / .16);--taskbar-height: 44px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);overflow:hidden}#root{display:flex;flex-direction:column}.desktop{position:relative;flex:1;min-height:0;overflow:hidden}.taskbar{flex:none;height:var(--taskbar-height);display:flex;align-items:center;gap:16px;padding:0 10px;background:var(--taskbar);color:var(--taskbar-text)}.taskbar .launcher,.taskbar .running{display:flex;gap:6px}.taskbar .running{padding-left:16px;border-left:1px solid rgb(255 255 255 / .15)}.taskbar button{all:unset;padding:6px 12px;border-radius:8px;font-size:13px;cursor:pointer}.taskbar button:hover{background:#ffffff1a}.taskbar .running button.active{background:var(--accent)}.taskbar .running button.minimized{opacity:.55}.taskbar .status{margin-left:auto;font-size:12px}.taskbar .status:not(:empty){padding:4px 10px;border-radius:999px;background:#ffffff1f}.app-content{height:100%}.toasts{position:fixed;right:12px;bottom:calc(var(--taskbar-height) + 12px);display:flex;flex-direction:column;gap:8px;z-index:100000}.toast{display:flex;align-items:center;gap:10px;max-width:min(360px,calc(100vw - 24px));padding:10px 12px;font-size:13px;background:var(--taskbar);color:var(--taskbar-text);border-radius:var(--radius);box-shadow:var(--shadow)}.toast span{flex:1}.toast button{all:unset;padding:4px 10px;border-radius:6px;cursor:pointer;background:var(--accent)}.toast button:hover{filter:brightness(1.1)}.toast button.dismiss{background:none;padding:4px 6px;opacity:.7}.taskbar .launcher{align-items:center}.taskbar .start-button{background:#ffffff14;font-weight:500}.start-menu{position:fixed;left:8px;bottom:calc(var(--taskbar-height) + 8px);width:min(320px,calc(100vw - 16px));max-height:min(420px,70vh);display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--taskbar);color:var(--taskbar-text);border-radius:var(--radius);box-shadow:var(--shadow);z-index:100001}.start-menu[hidden]{display:none}.start-menu input{font:inherit;padding:8px 10px;color:inherit;background:#ffffff1a;border:1px solid transparent;border-radius:8px;outline:none}.start-menu input:focus{border-color:var(--accent)}.start-menu ul{list-style:none;margin:0;padding:0;overflow:auto;display:grid;gap:2px}.start-menu li{display:flex;align-items:center;border-radius:8px}.start-menu li.active,.start-menu li:hover{background:#ffffff1f}.start-menu li.empty{padding:10px;opacity:.6}.start-menu button{all:unset;cursor:pointer}.start-menu button.launch{flex:1;padding:8px 10px;font-size:14px}.start-menu button.pin{padding:8px 10px;opacity:.6}.start-menu button.pin:hover{opacity:1}.os-dialog{width:min(380px,calc(100vw - 32px));padding:18px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.os-dialog::backdrop{background:#00000073}.os-dialog h2{margin:0 0 6px;font-size:13px;opacity:.6;font-weight:500}.os-dialog p{margin:0 0 12px;font-size:14px;line-height:1.4}.os-dialog form{display:grid;gap:12px}.os-dialog input{font:inherit;padding:8px 10px;color:inherit;background:var(--bg);border:1px solid var(--border);border-radius:8px;outline:none}.os-dialog input:focus{border-color:var(--accent)}.os-dialog .choices{display:grid;gap:6px}.os-dialog .actions{display:flex;justify-content:flex-end;gap:8px}.os-dialog button{font:inherit;color:inherit;padding:6px 14px;background:var(--titlebar);border:1px solid var(--border);border-radius:8px;cursor:pointer}.os-dialog button:hover,.os-dialog button:focus-visible{border-color:var(--accent);outline:none}.os-dialog button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.app-error{padding:20px;display:grid;gap:8px;justify-items:start;font-size:13px}.app-error p{margin:0;opacity:.75;overflow-wrap:anywhere}.app-error button{font:inherit;color:inherit;padding:4px 12px;background:var(--titlebar);border:1px solid var(--border);border-radius:6px;cursor:pointer}.app-error button:hover{border-color:var(--accent)}
