:root{--bg: #eef0ec;--bg-pattern: #e4e7e1;--surface: #ffffff;--surface-2: #f6f7f4;--text: #16181d;--muted: #646a73;--line: #d9ddd5;--accent: #0f766e;--accent-ink: #ffffff;--shadow: 0 1px 2px rgba(16, 24, 32, .06), 0 12px 32px rgba(16, 24, 32, .14);--shadow-quiet: 0 1px 2px rgba(16, 24, 32, .05), 0 6px 18px rgba(16, 24, 32, .08);--dock: rgba(255, 255, 255, .86);--ok: #15803d;--warn: #b45309;--err: #b91c1c;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #121416;--bg-pattern: #181b1e;--surface: #1c1f23;--surface-2: #23272c;--text: #eceef0;--muted: #9aa1a9;--line: #2f343a;--accent: #2dd4bf;--accent-ink: #062b28;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 16px 40px rgba(0, 0, 0, .5);--shadow-quiet: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 20px rgba(0, 0, 0, .35);--dock: rgba(28, 31, 35, .88);color-scheme:dark}}:root[data-theme=dark]{--bg: #121416;--bg-pattern: #181b1e;--surface: #1c1f23;--surface-2: #23272c;--text: #eceef0;--muted: #9aa1a9;--line: #2f343a;--accent: #2dd4bf;--accent-ink: #062b28;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 16px 40px rgba(0, 0, 0, .5);--shadow-quiet: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 20px rgba(0, 0, 0, .35);--dock: rgba(28, 31, 35, .88);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Poppins,Arial,Arial Unicode MS,sans-serif;font-size:14px;color:var(--text);background:var(--bg);overflow:hidden;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{font-weight:600;margin:0}.muted{color:var(--muted)}.desktop{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 1px 1px,var(--bg-pattern) 1px,transparent 0) 0 0 / 22px 22px,var(--bg)}.desktop.interacting iframe{pointer-events:none}.desktop.interacting{-webkit-user-select:none;user-select:none}.home{position:absolute;top:0;right:0;bottom:84px;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;text-align:center}.home h1{font-size:30px;letter-spacing:-.01em}.ask{width:min(600px,100%);margin-top:16px}.ask input{width:100%;padding:16px 20px;border-radius:14px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-quiet);outline:none;font-size:15px}.ask input:focus{border-color:var(--accent)}.ask-results{width:min(600px,100%);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-quiet);overflow:hidden;text-align:left}.ask-results button{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;border:0;background:none}.ask-results button:hover{background:var(--surface-2)}.app-icon{display:inline-grid;place-items:center;flex:none;border-radius:24%;color:#fff;font-weight:600;letter-spacing:-.02em;line-height:1}.window{position:absolute;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-quiet);overflow:hidden}.window.focused{box-shadow:var(--shadow)}.window.maximized{border-radius:0;border-width:0 0 1px 0}.titlebar{display:flex;align-items:center;gap:10px;height:40px;padding:0 6px 0 12px;background:var(--surface-2);border-bottom:1px solid var(--line);cursor:default;touch-action:none;flex:none}.window:not(.focused) .titlebar{color:var(--muted)}.title{flex:1;min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.titlebar-link{font-size:12px;color:var(--muted);text-decoration:none;padding:4px 8px;border-radius:6px}.titlebar-link:hover{background:var(--line);color:var(--text)}.controls{display:flex;gap:2px}.controls button{width:32px;height:28px;display:grid;place-items:center;border:0;border-radius:6px;background:none}.controls button:hover{background:var(--line)}.controls button.close:hover{background:var(--err);color:#fff}.controls svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.4}.window-body{position:relative;flex:1;min-height:0;overflow:auto}.app-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:#fff}.resize-handle{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;touch-action:none}.frame-blocked{height:100%;display:grid;place-content:center;gap:12px;padding:24px;text-align:center}.dock{position:absolute;left:50%;bottom:12px;transform:translate(-50%);display:flex;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:8px 10px;background:var(--dock);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-quiet);z-index:100000;overflow-x:auto}.dock-item{position:relative;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:12px;background:none;flex:none}.dock-item:hover,.dock-item.active{background:var(--surface-2)}.running-dot{position:absolute;bottom:1px;width:4px;height:4px;border-radius:50%;background:var(--text)}.launcher-button svg{width:22px;height:22px;fill:var(--text)}.dock-sep{width:1px;height:32px;background:var(--line);margin:0 4px;flex:none}.dock-spacer{width:8px;flex:none}.clock{display:flex;flex-direction:column;align-items:flex-end;padding:0 6px;line-height:1.2;flex:none}.clock span{font-weight:500}.clock small{color:var(--muted);font-size:11px}.launcher-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:99999;background:#0a0c0e2e;display:flex;justify-content:center;align-items:flex-end;padding:16px 16px 96px}.launcher{width:min(720px,100%);max-height:70vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.launcher .search{margin:16px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);outline:none}.launcher .search:focus{border-color:var(--accent)}.launcher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:4px;padding:0 12px 16px;overflow-y:auto}.launcher-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border:0;border-radius:12px;background:none;font-size:12.5px;text-align:center}.launcher-item:hover{background:var(--surface-2)}.badge{font-size:10.5px;padding:1px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted);text-transform:capitalize}.badge.beta{color:var(--warn);border-color:currentColor}.button{display:inline-block;padding:7px 14px;border:0;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-weight:500;text-decoration:none}.button:disabled{opacity:.45;cursor:not-allowed}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:none;font-size:12.5px}.chip.on{background:var(--text);color:var(--surface);border-color:var(--text)}ul.plain{margin:0;padding-left:18px;line-height:1.9}.system-app{padding:24px}.system-app h2{font-size:20px}.system-app.planned{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;max-width:460px;margin:0 auto}.settings section{margin-top:24px;display:grid;gap:10px}.settings h3{font-size:14px}.store-head{display:grid;gap:10px;margin-bottom:16px}.store-list{list-style:none;margin:0;padding:0}.store-list li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line)}.store-info{flex:1;min-width:0;display:grid;gap:2px}.store-info p{margin:4px 0 0}.store-action{display:flex;align-items:center;gap:8px}.ai-app{height:100%;display:flex;flex-direction:column;padding:0}.ai-thread{flex:1;padding:24px;overflow:auto}.ai-msg{max-width:560px;padding:14px 16px;border-radius:12px;background:var(--surface-2);line-height:1.6}.ai-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}.ai-input input{flex:1;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.toasts{position:absolute;top:16px;right:16px;z-index:100001;display:grid;gap:8px;width:min(340px,calc(100% - 32px))}.toast{display:flex;gap:10px;align-items:center;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;box-shadow:var(--shadow-quiet)}.toast.success{border-left-color:var(--ok)}.toast.error{border-left-color:var(--err)}@media (max-width: 640px){.home h1{font-size:24px}.dock-item{width:42px;height:42px}.clock{display:none}}
