/* Shared chrome follows the app's palette; document content keeps its own colors. */
:root{--tool-bg:#f7f9fd;--tool-panel:#eaf1fa;--tool-field:#fff;--tool-ink:#20304b;--tool-muted:#5f718a;--tool-border:#d8e2ef}
html[data-theme=night]{--tool-bg:#202329;--tool-panel:#292e36;--tool-field:#343b46;--tool-ink:#f0f4fa;--tool-muted:#b6c3d5;--tool-border:#495463}
html[data-theme=dawn]{--tool-bg:#f6f5f8;--tool-panel:#e4e3e9;--tool-ink:#3c3a49}
html,body{min-height:100%;overscroll-behavior:none;background-color:var(--active-surface,var(--tool-bg))}
.wallpaper{position:fixed;inset:0;min-height:100%;background-size:cover}
.window{--panel:var(--tool-panel);--window-bg:var(--tool-bg);--text:var(--tool-ink);--line:var(--tool-border);background:var(--tool-bg);color:var(--tool-ink)}
.window:not([data-browser-theme]):not(.seamless-frame-window) .window-content>.window-titlebar{background:var(--tool-panel);color:var(--tool-ink);border-color:var(--tool-border)}
.window:not([data-browser-theme]):not(.seamless-frame-window) :is(.window-content,.settings-shell,.store-shell,.notes-shell,.calculator-shell,.focus-shell,.calendar-shell,.file-manager,.fs-main,.fs-sidebar,.note-editor,.store-content,.notebook-shell){background:var(--tool-bg);color:var(--tool-ink)}
html[data-theme=night] .window:not([data-browser-theme]):not(.seamless-frame-window) :is(.settings-section,.settings-reset-card,.mode-option,.tool-card,.note-item,.calculator-key,.calendar-day,.fs-address,.fs-search,.fs-commandbar,.fs-statusbar,.fs-tabs,.fs-picker-footer,.viewer-toolbar,.viewer-status,input,select,textarea){background:var(--tool-field);color:var(--tool-ink);border-color:var(--tool-border)}
html[data-theme=night] .window:not([data-browser-theme]) :is(h1,h2,h3,label,.fs-sidebar-link,.fs-entry,.fs-list-header,.note-title,.calculator-display,.calendar-weekdays){color:var(--tool-ink)}
html[data-theme=night] .window :is(.setting-help,.tool-copy p,.viewer-empty,.fs-sidebar-heading,.muted){color:var(--tool-muted)}
.window-controls [data-window-action]{color:inherit!important;min-height:36px}
[data-browser-theme] .window-controls{color:var(--browser-ink)}
.seamless-frame-window .window-controls{color:var(--frame-ink,#f1f5fb)!important;height:var(--frame-bar-height,52px)!important;background:var(--frame-surface,transparent)}
.window-controls [data-window-action]:hover{background:#8798af33}
.window-controls [data-window-action=close]:hover{background:#c9374a;color:#fff!important}
.system-tray{gap:2px;padding:2px 5px}
.system-tray>button{display:flex;align-items:center;justify-content:center;min-width:34px;min-height:36px;border-radius:10px}
.system-tray>button:hover{background:#8798af33}
.system-tray .tray-clock{flex-direction:column;align-items:flex-end;gap:2px;padding:3px 8px}
.system-panel{width:350px;padding:22px;background:var(--tool-bg);color:var(--tool-ink)}
.system-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.system-panel h2{margin:0;font-size:19px}
.system-panel label{display:grid;gap:8px;margin:15px 0}.system-panel input,.system-panel select{width:100%;padding:10px;background:var(--tool-field);color:var(--tool-ink);border:1px solid var(--tool-border);border-radius:8px}.system-panel p{line-height:1.6;font-size:13px;color:var(--tool-muted)}
.browser-reconnect-button{margin-left:10px;padding:6px 12px;border-radius:7px;background:#3269ed;color:white}
.window-loading{display:grid;place-content:center;gap:14px;width:100%;height:100%;min-height:150px;padding:28px;color:var(--tool-muted);text-align:center}.window-loading progress{width:min(360px,65vw);height:6px;border:0;accent-color:var(--accent,#3269ed)}
.os-boot-loading{position:fixed;inset:0;z-index:10000;display:grid;place-content:center;gap:16px;background:var(--tool-bg);color:var(--tool-ink);text-align:center}.os-boot-loading progress{width:min(420px,72vw);height:7px;accent-color:var(--accent,#3269ed)}
.frame-loading{position:absolute;inset:0;z-index:2;background:var(--tool-bg)}
body.file-dialog-open .taskbar,body.file-dialog-open :is(.taskbar-reveal-zone,.taskbar-tray-reveal-zone){display:none!important}
html[data-ui=touch] .window,html[data-ui=touch] .window.maximized,html[data-ui=touch] body:has(.window.maximized) .window.maximized{top:0!important;height:100dvh!important;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--tool-panel)}
html[data-ui=touch] .seamless-frame-window{background:#202329!important}
html[data-ui=touch] .window[data-browser-theme]{background:var(--browser-panel)!important}
html[data-ui=touch] .window-content{min-height:0}
html[data-ui=touch] :is(input:not([type=range]):not([type=checkbox]),textarea,select){font-size:16px!important}
html[data-ui=touch] .window-controls [data-window-action]{min-width:42px;min-height:44px}
html[data-ui=touch] :is(.viewer-toolbar,.fs-commandbar){overflow-x:auto;flex-shrink:0}
html[data-ui=touch] .system-panel{max-height:calc(var(--visual-height,100dvh) - 40px)}
html[data-ui=touch].keyboard-visible .window,html[data-ui=touch].keyboard-visible body:has(.window.maximized) .window.maximized{height:var(--visual-height,100dvh)!important;padding-bottom:0}
html[data-ui=touch].keyboard-visible .window.window-browser,html[data-ui=touch].keyboard-visible body:has(.window.maximized) .window.window-browser.maximized{height:var(--stable-app-height,100vh)!important;padding-bottom:env(safe-area-inset-bottom)}
html[data-ui=touch].keyboard-visible .home-indicator{display:none}
html[data-theme=night] .window:not([data-browser-theme]) :is(.notes-sidebar,.notes-editor,.note-bottom,.store-sidebar,.tool-card,.calc-key,.focus-tabs,.calendar-today,.fs-navigation,.fs-drive-card,.fs-drive-card-actions,.fs-preview,.fs-status,.fs-view-buttons,.fs-tab.active,.fs-drive-dialog){background:var(--tool-panel);color:var(--tool-ink);border-color:var(--tool-border)}
html[data-theme=night] .window:not([data-browser-theme]) :is(.notes-heading button,.note-list-item.selected,.calc-key.operator,.calc-key.function,.focus-tabs button.selected,.mode-option.selected,.store-nav button.active,.fs-entry.selected){background:#394c66;color:#eef5ff;border-color:#6794d4}
html[data-theme=night] .window:not([data-browser-theme]) :is(.note-list-item strong,.note-list-item span,.note-list-item time,.notes-local,.note-bottom,.notes-toolbar button,.notes-toolbar>span,.store-nav button,.calc-expression,.calc-hint,.calculator-heading,.focus-tabs button,.focus-eyebrow,.focus-footer,.calendar-today p,.calendar-quote,.calendar-foot,.calendar-toolbar button,.fs-picker-title,.fs-drive-main strong,.fs-drive-main small,.fs-drive-card-actions button){color:var(--tool-muted)}
html[data-theme=night] .window :is(.note-textarea,.notebook-shell textarea)::placeholder{color:#b7c6da}
html[data-theme=night] .window .calc-key.equals{background:#3269ed;color:#fff}
html[data-theme=night] .window .calendar-day.selected{background:#277863;color:#fff}
html[data-ui=touch] .viewer-toolbar{height:auto;min-height:44px;flex-wrap:wrap;padding-block:5px}
html[data-ui=touch] .viewer-toolbar button{min-height:36px}
@media(max-width:600px){.settings-default-apps{grid-template-columns:1fr}.settings-reset-card{align-items:stretch;flex-direction:column}.notes-shell{grid-template-columns:minmax(96px,30%) minmax(0,1fr)}.note-textarea{padding:14px;min-height:100px}.calendar-main{padding:16px 10px}.system-tray .tray-clock{min-width:74px}}

html[data-ui=touch] .window-controls [data-window-action=minimize]{min-width:38px}

/* Keep wallpaper above the page background and use one palette for every tray. */
body{isolation:isolate}.wallpaper{z-index:-1}
html[data-theme] .taskbar{background:transparent;color:var(--tool-ink)}
html[data-theme] .taskbar :is(.dock,.system-tray){background:color-mix(in srgb,var(--tool-panel) 94%,transparent);color:var(--tool-ink);border-color:var(--tool-border)}
html[data-theme] .taskbar :is(.dock-button>svg,.system-tray>button){color:var(--tool-ink)}
html[data-theme] .taskbar .dock-button:is(:hover,.active){background:color-mix(in srgb,var(--tool-ink) 12%,transparent)}
html[data-ui=touch] :is(.overlay-panel,.settings-shell,.file-manager){color:var(--tool-ink)}
html[data-ui=touch] .overlay-panel{background:var(--tool-bg)}

/* File dialogs and their explorer contents use the active PiscesOS palette. */
html[data-theme] .pisces-file-dialog{background:var(--tool-bg);color:var(--tool-ink);border-color:var(--tool-border)}
html[data-theme] .pisces-file-dialog>.window-titlebar{background:var(--tool-panel);color:var(--tool-ink);border-color:var(--tool-border)}
html[data-theme] .pisces-file-dialog>.window-titlebar strong{color:var(--tool-ink)}
html[data-theme] .pisces-file-dialog :is(.file-manager,.fs-sidebar,.fs-commandbar,.fs-content,.fs-pickerbar,.fs-statusbar){background:var(--tool-bg);color:var(--tool-ink);border-color:var(--tool-border)}
html[data-theme] .pisces-file-dialog :is(.fs-tabs,.fs-navigation,.fs-preview,.fs-list-heading,.fs-preview-title,.fs-operation-progress){background:var(--tool-panel);color:var(--tool-ink);border-color:var(--tool-border)}
html[data-theme] .pisces-file-dialog :is(.fs-address,.fs-search,.fs-pickerbar input,.fs-pickerbar select,.fs-view-buttons,.fs-tab.active){background:var(--tool-field);color:var(--tool-ink);border-color:var(--tool-border)}
html[data-theme] .pisces-file-dialog :is(.fs-sidebar-link,.fs-entry,.fs-location-title,.fs-pickerbar label,.fs-search input,.fs-sort-select,.fs-empty h2){color:var(--tool-ink)}
html[data-theme] .pisces-file-dialog :is(.fs-sidebar-heading,.fs-empty p,.fs-status-mode,.fs-location-title small,.fs-home>p,.fs-home-note){color:var(--tool-muted)}
html[data-theme] .pisces-file-dialog :is(.fs-sidebar-link:hover,.fs-entry:hover,.fs-commandbar button:hover,.fs-nav-buttons button:hover,.fs-breadcrumbs button:hover){background:color-mix(in srgb,var(--tool-ink) 9%,transparent)}
html[data-theme] .pisces-file-dialog :is(.fs-entry.selected,.fs-sidebar-link.active,.fs-location-pin.active){background:color-mix(in srgb,var(--accent,#3269ed) 20%,var(--tool-field));border-color:color-mix(in srgb,var(--accent,#3269ed) 45%,var(--tool-border))}
html[data-ui=touch] :is(.settings-shell,.store-shell,.file-manager,.notes-shell,.notebook-shell) :is(input,textarea,select){font-size:16px;color:var(--tool-ink);background:var(--tool-field);border-color:var(--tool-border)}
html[data-ui=touch] :is(.store-nav button,.settings-section button,.fs-navigation button,.fs-commandbar button,.notes-toolbar button){min-height:40px}
html[data-ui=touch] :is(.settings-shell,.store-content,.fs-main){min-width:0;overflow-x:hidden}
html[data-size=phone] .fs-sidebar{width:130px;min-width:100px}
html[data-size=phone] .store-sidebar{width:108px;min-width:0}
html[data-size=phone] .store-content{padding:16px 10px}
html[data-size=phone] .tool-grid{grid-template-columns:1fr}
html[data-size=phone] .settings-section{padding:16px 12px}
html[data-size=phone] .settings-mode-options{grid-template-columns:1fr}
.window-loading progress,.os-boot-loading progress,.fs-operation-progress progress,.fs-load-progress{appearance:none;-webkit-appearance:none;overflow:hidden;border:0;border-radius:999px;background:color-mix(in srgb,var(--tool-ink,#18273a) 12%,transparent);height:6px;color:var(--accent,#3478f6)}
progress::-webkit-progress-bar{background:color-mix(in srgb,var(--tool-ink,#18273a) 12%,transparent);border-radius:999px}
progress::-webkit-progress-value{background:var(--accent,#3478f6);border-radius:999px;transition:width .2s ease-out}
progress::-moz-progress-bar{background:var(--accent,#3478f6);border-radius:999px}
.window-loading output{font-size:12px;font-variant-numeric:tabular-nums;opacity:.78}
.cache-panel{box-sizing:border-box;width:min(620px,calc(100vw - 28px));max-height:calc(100dvh - 48px);overflow:auto;padding:24px;border-radius:22px;background:var(--tool-bg,#f5f7fb);color:var(--tool-ink,#18273a);box-shadow:0 24px 80px #0005}
.cache-panel>button{min-height:44px;margin:0 8px 8px 0}.tool-cache-manager p{line-height:1.6;color:var(--tool-muted,#52617a)}
.tool-cache-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--tool-border,#dce2eb)}
.tool-cache-row span{overflow-wrap:anywhere}.tool-cache-row button{flex-shrink:0;min-height:44px}.tool-cache-manager [data-cache-persist]{margin-top:20px;min-height:44px}
@media(prefers-reduced-motion:reduce){progress::-webkit-progress-value{transition:none}}
