
/* Phase 3 — floating, movable, resizable module windows. Existing page DOM is retained. */
.os-window-manager-trigger{display:flex;align-items:center;justify-content:center;gap:5px;width:auto;min-width:30px;padding:0 8px;white-space:nowrap}
.os-window-manager-trigger span:first-child{font-size:17px;line-height:1}
.os-window-manager-trigger span:nth-child(2){font-size:11px;font-weight:700}
.page.os-windowed{display:block!important;position:fixed!important;z-index:1200;left:clamp(12px,8vw,110px);top:calc(var(--systembar-h) + 30px);width:min(760px,calc(100vw - 24px));height:min(620px,calc(100dvh - var(--systembar-h) - 54px));min-width:min(320px,calc(100vw - 24px));min-height:220px;max-width:calc(100vw - 24px);max-height:calc(100dvh - var(--systembar-h) - 18px);margin:0!important;padding:18px 18px 28px!important;overflow:auto!important;resize:both;background:var(--bg)!important;color:var(--label);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 72px rgba(0,0,0,.28),0 3px 12px rgba(0,0,0,.12);isolation:isolate;animation:none!important}
.page.os-windowed.os-window-maximized{left:12px!important;top:calc(var(--systembar-h) + 8px)!important;width:calc(100vw - 24px)!important;height:calc(100dvh - var(--systembar-h) - 20px)!important;max-width:none;max-height:none;resize:none;border-radius:13px}
.page.os-windowed.os-window-minimized{display:none!important}
.os-window-titlebar{position:sticky;top:-18px;z-index:15;display:flex;align-items:center;gap:10px;margin:-18px -18px 18px;padding:10px 12px;background:var(--surface);border-bottom:1px solid var(--line);border-radius:17px 17px 0 0;cursor:grab;touch-action:none;user-select:none}
.os-window-titlebar:active{cursor:grabbing}
.os-window-title{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;color:var(--label)}
.os-window-controls{display:flex;align-items:center;gap:5px;flex:none}
.os-window-control{width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--label);font-size:15px;line-height:1;cursor:pointer}
.os-window-control:hover{background:var(--fill)}
.os-window-control[data-window-action="close"]{font-size:18px}
.os-window-controls button:focus-visible,.os-window-manager-trigger:focus-visible,.os-window-launch:focus-visible,.os-window-chip:focus-visible{outline:3px solid var(--blue-fill);outline-offset:2px}
.os-window-launcher{width:min(580px,calc(100vw - 28px));max-height:min(78dvh,680px);padding:0;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--label);box-shadow:0 28px 90px rgba(0,0,0,.35)}
.os-window-launcher::backdrop{background:rgba(5,10,22,.48);backdrop-filter:blur(4px)}
.os-window-launcher-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid var(--line)}
.os-window-launcher-head h2{margin:0;font-size:16px;color:var(--label)}
.os-window-launcher-head p{margin:4px 0 0;color:var(--label-2);font-size:11px}
.os-window-launcher-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px;overflow:auto;max-height:58dvh}
.os-window-launch{display:flex;align-items:center;gap:10px;min-width:0;text-align:left;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--label);cursor:pointer}
.os-window-launch:hover{border-color:var(--blue-fill);background:var(--fill)}
.os-window-launch-icon{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-size:17px}
.os-window-launch-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.os-window-launch-copy b{font-size:12px}.os-window-launch-copy small{font-size:10px;color:var(--label-2);line-height:1.35}
.os-window-launch-foot{padding:11px 16px;border-top:1px solid var(--line);color:var(--label-2);font-size:10px}
.os-window-minimized-bar{position:fixed;z-index:1190;left:12px;bottom:12px;display:flex;flex-wrap:wrap;gap:7px;max-width:min(70vw,680px);pointer-events:none}
.os-window-chip{pointer-events:auto;display:flex;align-items:center;gap:7px;max-width:220px;padding:8px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--label);box-shadow:0 6px 20px rgba(0,0,0,.15);font-size:11px;font-weight:700;cursor:pointer}
.os-window-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:859px){.os-window-manager-trigger span:nth-child(2){display:none}.os-window-manager-trigger{padding:0 6px}.page.os-windowed{left:8px!important;top:calc(var(--systembar-h) + 5px)!important;width:calc(100vw - 16px)!important;height:calc(100dvh - var(--systembar-h) - 12px)!important;max-width:none;max-height:none;min-width:0;min-height:200px;resize:none;border-radius:13px;padding:14px 12px 24px!important}.os-window-titlebar{top:-14px;margin:-14px -12px 14px;padding:8px 10px;border-radius:12px 12px 0 0}.os-window-launcher-list{grid-template-columns:1fr}.os-window-minimized-bar{bottom:8px;left:8px;max-width:calc(100vw - 16px)}}
@media(prefers-reduced-motion:reduce){.page.os-windowed,.os-window-control,.os-window-launch{animation:none!important;transition:none!important}}
