.selection-rectangle { position: fixed; z-index: 25000; pointer-events: none; border: 1px dotted #fff; outline: 1px dotted #000; background: #00008012; }
.window.startup-opening { animation: window-opening 180ms steps(6, end) both; animation-delay: var(--opening-delay, 0ms); transform-origin: left top; pointer-events: none; }
/* Scale is independent of the translation used to position and drag windows. */
@keyframes window-opening { from { opacity: 0; scale: .96 .82; } to { opacity: 1; scale: 1; } }
@media (prefers-reduced-motion: reduce) { .window.startup-opening { animation: none; pointer-events: auto; } }
body.is-selecting { user-select: none; }
.desktop-icon.is-selected span { background: #000080; outline: 1px dotted #fff; text-shadow: none; color: #fff; }
.desktop-icon.is-selected img { filter: contrast(.85) brightness(.8) sepia(.25) hue-rotate(170deg); }
.desktop:focus { outline: none; }
#explorer { width: min(735px,calc(100vw - 134px)); height: min(470px,calc(100dvh - 80px)); min-width: min(350px,calc(100vw - 24px)); min-height: 250px; resize: both; }
#explorer .explorer-menubar { display: flex; flex: 0 0 auto; gap: 2px; padding: 2px 3px; font: 11px Tahoma,Arial,sans-serif; }
.explorer-menubar button { padding: 3px 6px; font: inherit; background: #c0c0c0; border: 0; }
.explorer-menubar > button:hover, .explorer-menu-group > button:hover { box-shadow: inset 1px 1px #fff,inset -1px -1px #808080; }
.explorer-menu-group { position: relative; }
.explorer-menu-panel { position: absolute; top: 100%; left: 0; z-index: 5; width: 170px; padding: 2px; background: #c0c0c0; border: 1px solid #000; box-shadow: inset 1px 1px #fff,1px 1px #000; }
.explorer-menu-panel button { display: block; width: 100%; padding: 5px 18px; text-align: left; }
.explorer-menu-panel button:hover { background: #000080; color: white; }
.explorer-menu-panel button:disabled { background: #c0c0c0; color: #808080; text-shadow: 1px 1px #fff; }
.explorer-menu-panel hr { margin: 3px 1px; border: 0; border-top: 1px solid #808080; border-bottom: 1px solid #fff; }
.explorer-toolbar { display: flex; flex-wrap: wrap; align-items: center; flex: 0 0 auto; gap: 3px; padding: 3px; border-top: 1px solid #fff; box-shadow: inset 0 -1px #808080; font: 11px Tahoma,sans-serif; }
.explorer-toolbar button { display: inline-flex; gap: 5px; align-items: center; padding: 3px 5px; height: 27px; background: #c0c0c0; border: 1px solid transparent; }
.explorer-toolbar button:hover, .explorer-toolbar button[aria-pressed="true"] { border-color: #fff #808080 #808080 #fff; }
.explorer-toolbar button[aria-pressed="true"] { border-color: #808080 #fff #fff #808080; }
.explorer-toolbar button:disabled { color: #808080; text-shadow: 1px 1px #fff; border-color: transparent; }
.explorer-arrow { font: bold 19px/18px Arial,sans-serif; }
.toolbar-separator { height: 23px; width: 2px; margin: 0 4px; border-left: 1px solid #808080; border-right: 1px solid #fff; }
.explorer-toolbar label { margin-left: 3px; }
.explorer-toolbar select { font: inherit; height: 21px; background: #fff; border: 2px inset #eee; }
.explorer-address { display: flex; align-items: center; flex: 0 0 auto; gap: 5px; padding: 4px 5px; font: 11px Tahoma,sans-serif; }
.explorer-address input { flex: 1; min-width: 0; height: 22px; padding: 2px 4px; border: 2px inset #eee; font: inherit; }
.explorer-address input[aria-invalid="true"] { outline: 1px solid #a00000; }
.explorer-address button { height: 22px; padding: 2px 7px; border: 2px outset #eee; background: #c0c0c0; font: inherit; }
#explorer > .window-body.explorer-shell { flex: 1; display: flex; min-height: 0; max-height: none; padding: 0; overflow: hidden; }
.explorer-folder-panel { flex: 0 0 200px; display: flex; flex-direction: column; border-right: 2px solid #808080; background: #fff; min-width: 0; }
.explorer-folder-heading { display: flex; justify-content: space-between; padding: 4px; background: #c0c0c0; font: 11px Tahoma,sans-serif; }
.explorer-folder-heading button { border: 0; padding: 0 3px; font: bold 11px Arial; background: #c0c0c0; }
#explorerTree { flex: 1; overflow: auto; padding: 4px 2px; font: 11px Tahoma,sans-serif; }
.explorer-tree-row { display: flex; align-items: center; min-height: 21px; white-space: nowrap; }
.tree-toggle { flex: 0 0 11px; height: 11px; margin-right: 4px; padding: 0; border: 1px solid #808080; background: #fff; font: 10px/9px monospace; }
.tree-toggle:disabled { border-color: transparent; }
.tree-folder { display: flex; align-items: center; gap: 4px; padding: 1px 0; border: 0; background: white; font: inherit; }
.tree-folder.is-selected span { background: #000080; color: #fff; outline: 1px dotted #fff; }
.explorer-content { flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column; overflow: hidden; }
#explorerFiles { flex: 1; min-height: 0; overflow: auto; padding: 7px; outline: none; background: white; font: 11px Tahoma,sans-serif; }
#explorerFiles[data-view="icons"] { display: grid; grid-template-columns: repeat(auto-fill,minmax(92px,1fr)); grid-auto-rows: 76px; align-content: start; gap: 4px; }
.explorer-item { background: white; border: 0; font: inherit; color: #000; }
#explorerFiles[data-view="icons"] .explorer-item { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 3px; justify-content: start; }
.file-name { overflow-wrap: anywhere; }
.explorer-item.is-selected .file-name { background: #000080; color: #fff; outline: 1px dotted #fff; }
.explorer-item.is-selected img { filter: brightness(.8) sepia(.3) hue-rotate(170deg); }
#explorerFiles[data-view="list"] { display: grid; grid-template-columns: repeat(auto-fill,minmax(160px,1fr)); grid-auto-rows: 25px; align-content: start; }
#explorerFiles[data-view="list"] .explorer-item { display: flex; align-items: center; gap: 5px; padding: 2px; text-align: left; }
#explorerFiles[data-view="details"] { padding: 0; }
#explorerFiles[data-view="details"] .explorer-item { display: grid; grid-template-columns: 18px minmax(120px,1fr) 115px 55px 85px; align-items: center; gap: 4px; width: 100%; min-width: 425px; padding: 4px 3px; text-align: left; }
#explorerFiles[data-view="details"] .explorer-item.is-selected { background: #000080; color: #fff; }
.explorer-details-head { display: grid; grid-template-columns: minmax(142px,1fr) 119px 59px 89px; font: 11px Tahoma,sans-serif; background: #c0c0c0; }
.explorer-details-head span { padding: 4px; box-shadow: inset 1px 1px #fff,inset -1px -1px #808080; }
#explorer .window-statusbar { overflow: hidden; white-space: nowrap; }
#explorer .window-statusbar > span:nth-child(2) { padding: 2px 5px; border: 1px inset #eee; font-size: 11px; }
.explorer-properties { min-width: min(310px,calc(100vw - 70px)); font: 11px Tahoma,Arial,sans-serif; }
.explorer-property-tab { display: inline-block; padding: 5px 12px; margin-bottom: -1px; border: 1px solid #808080; border-bottom-color: #c0c0c0; box-shadow: inset 1px 1px #fff; }
.explorer-properties fieldset { margin: 0; padding: 12px; border: 1px solid #808080; box-shadow: inset 1px 1px #fff; }
.explorer-properties legend { max-width: 300px; overflow-wrap: anywhere; }
.explorer-properties dl { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 14px 8px; }
.explorer-properties dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 1100px) { #explorer { height: 470px; resize: none; } }
@media (max-width: 600px) { .explorer-folder-panel { flex-basis: 140px; } .explorer-toolbar { gap: 1px; } .explorer-details-head { display: none; } }
