/* GoogleOS system layer: icon + spacing fixes, built-in dialogs, window resize handles. */
.icon{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;line-height:1;flex:none;vertical-align:middle;overflow:hidden;white-space:nowrap;user-select:none;font-feature-settings:"liga";text-rendering:optimizeLegibility}
.btn,.windowBtn,.fileSideItem,.launchItem,.task,.titleTitle,.contextMenu button,#contextMenu button,.settingsNav button{display:inline-flex;align-items:center;gap:8px;box-sizing:border-box;line-height:1.2}
.btn{justify-content:center;white-space:nowrap}
.btn .icon{font-size:20px}
.fileSideItem,.settingsNav button,.launchItem,#contextMenu button{display:flex}
#contextMenu button{width:100%;gap:12px;text-align:left}
#contextMenu button .icon{font-size:20px}
.titleTitle{gap:10px}.titleTitle .icon,.titleTitle img{font-size:22px;width:22px;height:22px}
.windowBtn{justify-content:center;width:36px;height:36px;padding:0}
.windowBtn .icon{font-size:20px}
.settingsNav button .icon,.fileSideItem .icon{font-size:22px}
.setting{gap:16px}.settingText{min-width:0}
.formGroup{margin-bottom:16px}.formGroup label{display:block;margin-bottom:6px}
.formActions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.card{box-sizing:border-box}
.status{display:inline-flex;align-items:center;gap:4px}
.appCreator{gap:20px}
/* Resize handles */
.window{--rh:7px}
.winResize{position:absolute;z-index:5;background:transparent}
.winResize.n,.winResize.s{left:14px;right:14px;height:var(--rh);cursor:ns-resize}
.winResize.e,.winResize.w{top:14px;bottom:14px;width:var(--rh);cursor:ew-resize}
.winResize.n{top:0}.winResize.s{bottom:0}.winResize.e{right:0}.winResize.w{left:0}
.winResize.ne,.winResize.nw,.winResize.se,.winResize.sw{width:16px;height:16px}
.winResize.ne{top:0;right:0;cursor:nesw-resize}.winResize.nw{top:0;left:0;cursor:nwse-resize}
.winResize.se{bottom:0;right:0;cursor:nwse-resize}.winResize.sw{bottom:0;left:0;cursor:nesw-resize}
.window.noResize .winResize,.window.maximized .winResize{display:none}
.window.noResize .windowBtn[title="Maximize"]{display:none}
body.gosResizing{user-select:none;cursor:inherit}body.gosResizing iframe{pointer-events:none}
/* Dialogs */
.gosDlgBack{position:fixed;inset:0;z-index:100000;background:#0006;display:flex;align-items:center;justify-content:center;padding:20px;animation:gosFade .12s ease-out}
.gosDlg{width:min(420px,100%);max-height:85vh;display:flex;flex-direction:column;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:22px;gap:12px;animation:gosPop .14s ease-out}
.gosDlg.wide{width:min(640px,100%)}
.gosDlg h3{margin:0;font-size:18px;font-weight:600}
.gosDlg .gosMsg{font-size:14px;line-height:1.5;color:var(--sub);white-space:pre-wrap;word-break:break-word;overflow:auto}
.gosDlg pre.gosMsg{font:12.5px ui-monospace,Menlo,Consolas,monospace;background:var(--surface2);color:var(--text);padding:12px;border-radius:12px;max-height:50vh;margin:0}
.gosDlg input.gosIn,.gosDlg textarea.gosIn{width:100%;box-sizing:border-box;padding:10px 14px;border:1.5px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font:14px var(--font,inherit);outline:0}
.gosDlg input.gosIn:focus,.gosDlg textarea.gosIn:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent2)}
.gosDlg textarea.gosIn{min-height:80px;resize:vertical}
.gosDlgBtns{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
@keyframes gosFade{from{opacity:0}}@keyframes gosPop{from{opacity:0;transform:scale(.96)}}
