:root {
  font-family: "Courier New", Courier, monospace;
  color: #171b20;
  background: #8e9491;
  font-synthesis: none;
}

* { box-sizing: border-box; }

html, body { width: 100%; min-height: 100%; margin: 0; }
body { min-height: 100dvh; overflow: hidden; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
button:focus-visible, a:focus-visible { outline: 3px solid #235b8d; outline-offset: 3px; }
.desktop-icon:focus-visible, .item-icon:focus-visible, .vod-row:focus-visible { outline: 0; }

.index-boot-screen {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  padding: 22px;
  overflow: hidden;
  background-color: #8e9491;
  background-image: repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.045) 3px 4px), repeating-linear-gradient(90deg, transparent 0 3px, rgba(20,25,24,.035) 3px 4px);
  transition: opacity .24s ease, visibility .24s step-end;
}
.index-boot-screen::before { content: ""; position: absolute; inset: 20px; border: 1px solid rgba(255,255,255,.23); pointer-events: none; }
.index-boot-screen.is-complete { opacity: 0; visibility: hidden; pointer-events: none; }
.index-boot-window { position: relative; width: min(440px, 100%); border: 2px solid #171b20; background: #fafaf7; box-shadow: 2px 2px 0 #fafaf7, 5px 5px 0 #171b20, 13px 15px 0 rgba(23,27,32,.22); }
.index-boot-titlebar { height: 31px; display: grid; place-items: center; padding: 4px 6px; border-bottom: 2px solid #171b20; background: repeating-linear-gradient(to bottom, #fafaf7 0 1px, #505659 1px 2px, #fafaf7 2px 3px); }
.index-boot-titlebar strong { display: grid; place-items: center; min-width: 0; width: max-content; max-width: 100%; height: 18px; padding: 1px 13px 2px; border: 1px solid #171b20; background: #fafaf7; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #aeb4b0; color: #171b20; font: 800 13px/1 Arial, Helvetica, sans-serif; letter-spacing: .02em; }
.index-boot-info { min-height: 31px; padding: 6px 12px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-bottom: 2px solid #171b20; color: #435960; font-size: 11px; font-weight: 800; letter-spacing: .055em; }
.index-boot-body { display: grid; gap: 16px; padding: 28px 31px 26px; background: #eef1eb; }
.index-boot-wordmark { display: grid; gap: 1px; color: #172126; text-align: center; }
.index-boot-wordmark strong { font: 900 38px/.92 Arial, Helvetica, sans-serif; letter-spacing: .045em; }
.index-boot-wordmark span { color: #43606a; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.index-boot-meter { height: 13px; padding: 2px; border: 2px solid #263033; background: #fafaf7; box-shadow: inset 1px 1px 0 #7e8989; }
.index-boot-meter span { display: block; width: 8%; height: 100%; background: repeating-linear-gradient(90deg, #668692 0 10px, #7d9ca4 10px 14px); box-shadow: inset 1px 1px 0 #b7ced1; transition: width .18s ease; }
.index-boot-body p { margin: 0; min-height: 15px; color: #344a51; font-size: 12px; font-weight: 700; text-align: center; }

.menu-bar {
  height: 39px;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 2px solid #15191d;
  background: #f7f7f2;
  box-shadow: 0 2px 0 rgba(255,255,255,.3);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  letter-spacing: .01em;
  position: relative;
  z-index: 1000;
}
.menu-left, .menu-right { display: flex; align-items: center; gap: 14px; white-space: nowrap; }
.mark { width: 26px; height: 26px; display: grid; place-items: center; line-height: 1; }
.mark img { width: 100%; height: 100%; object-fit: contain; display: block; }
.menu-separator { height: 18px; border-left: 1px solid #a9aaa7; margin: 0 2px; }
.menu-detail, .menu-right { font-family: "Courier New", Courier, monospace; font-size: 12px; font-weight: 700; letter-spacing: .06em; }
.menu-right span { color: #727875; }
.mobile-find-button { display: none; }

.desktop {
  position: relative;
  height: calc(100dvh - 72px);
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  touch-action: manipulation;
  isolation: isolate;
  background-color: #8e9491;
  background-image: repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.035) 3px 4px),
    repeating-linear-gradient(90deg, transparent 0 3px, rgba(20,25,24,.027) 3px 4px);
}
:root[data-wallpaper="midnight-grid"] .desktop,
:root[data-wallpaper="frosted-panes"] .desktop,
:root[data-wallpaper="blueprint"] .desktop,
:root[data-wallpaper="cloud-bands"] .desktop { background-position: center; background-repeat: no-repeat; background-size: cover; }
:root[data-wallpaper="ivory"] .desktop { background-color: #e9e4d8; background-image: none; }
:root[data-wallpaper="midnight-grid"] .desktop { background-image: linear-gradient(rgba(225,234,242,.5), rgba(194,210,224,.42)), url("/index/wallpapers/midnight-grid.png"); }
:root[data-wallpaper="frosted-panes"] .desktop { background-image: linear-gradient(rgba(229,239,244,.1), rgba(93,119,139,.1)), url("/index/wallpapers/frosted-panes.png"); }
:root[data-wallpaper="blueprint"] .desktop { background-image: linear-gradient(rgba(219,231,239,.38), rgba(194,211,223,.34)), url("/index/wallpapers/blueprint.png"); }
:root[data-wallpaper="cloud-bands"] .desktop { background-image: linear-gradient(rgba(228,237,242,.1), rgba(57,82,108,.1)), url("/index/wallpapers/cloud-bands.png"); }
.desktop::after {
  content: "";
  position: absolute;
  inset: 20px;
  border: 1px solid rgba(255,255,255,.2);
  pointer-events: none;
  z-index: 0;
}
.desktop-folders {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.desktop-icon, .item-icon {
  border: 0;
  background: transparent;
  color: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  min-width: 0;
  cursor: default;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
}
.desktop-icon *, .item-icon * { user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.desktop-icon { position: absolute; width: 108px; height: 87px; padding: 3px 4px; min-height: 0; touch-action: none; }
.desktop-icon.is-unindexed, .item-icon.is-unindexed { opacity: .52; filter: grayscale(.85); }
.desktop-icon.is-unindexed.is-selected, .item-icon.is-unindexed.is-selected { opacity: .74; }
/* Hover feedback stays off by default; reserve it for a future visual-preferences toggle. */
.desktop-icon.is-selected .icon-art { transform: translateY(-3px); }
:root[data-folder-hover="on"] .desktop-icon:hover .icon-art { transform: translateY(-3px); }
.desktop-icon .icon-art { width: 62px; height: 55px; filter: drop-shadow(3px 4px 0 rgba(14,23,23,.2)); transition: transform .15s ease, filter .12s ease; }
.desktop-icon .icon-label { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 800; letter-spacing: .025em; text-align: center; padding: 3px 6px; }
.desktop-icon.is-selected .icon-label { color: #fff; background: #1e2730; }
.document-icon .icon-art { filter: drop-shadow(3px 4px 0 rgba(14,23,23,.17)); }
.mail-icon { right: auto; bottom: auto; }
.mail-icon .icon-art { width: 66px; }
.ltools-icon .icon-art { width: 64px; }
.find-icon .icon-art { width: 64px; }
.bin-icon .icon-art { width: 57px; }
.image-icon .icon-art { width: 61px; }
.bin-icon.is-trash-target .icon-art { transform: translateY(-3px) scale(1.08); filter: drop-shadow(0 0 0 #dce8e9) drop-shadow(3px 4px 0 rgba(14,23,23,.2)); }
.bin-file-icon.is-restoring-drag { position: fixed; z-index: 10001; margin: 0; opacity: .9; filter: drop-shadow(5px 6px 0 rgba(14,23,23,.24)); cursor: grabbing; }
.bin-file-icon.is-restoring-drag .icon-art { transform: translateY(-3px); }
.desktop-icon.is-dragging { z-index: 4; cursor: grabbing; opacity: .88; }
.desktop-context-menu { position: fixed; z-index: 10000; min-width: 148px; padding: 3px; border: 2px solid #171b20; background: #eef1eb; box-shadow: 3px 3px 0 rgba(23,27,32,.28), inset 1px 1px 0 #fff; font-size: 12px; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; touch-action: manipulation; }
.desktop-menu-item { position: relative; display: flex; width: 100%; min-height: 27px; align-items: center; justify-content: space-between; gap: 20px; padding: 5px 8px; border: 0; background: transparent; color: #171b20; font: 700 12px "Courier New", Courier, monospace; text-align: left; cursor: pointer; white-space: nowrap; }
.desktop-menu-item:hover, .desktop-menu-item:focus-visible { outline: 0; background: #1e2730; color: #fff; }
.desktop-menu-arrow { font-size: 14px; line-height: 1; }
.desktop-menu-parent { position: relative; }
.desktop-context-submenu { display: none; position: absolute; left: 100%; top: -3px; min-width: 130px; padding: 3px; border: 2px solid #171b20; background: #eef1eb; box-shadow: 3px 3px 0 rgba(23,27,32,.28), inset 1px 1px 0 #fff; }
.desktop-menu-parent.is-open .desktop-context-submenu { display: block; }
@media (hover: hover) and (pointer: fine) { .desktop-menu-parent:hover .desktop-context-submenu { display: block; } }
.window-layer { position: absolute; inset: 0; pointer-events: none; z-index: 2; }
.finder-window {
  position: absolute;
  display: flex;
  flex-direction: column;
  width: min(660px, calc(100% - 26px));
  height: min(430px, calc(100% - 26px));
  min-width: 340px;
  min-height: 245px;
  border: 2px solid #171b20;
  background: #fafaf7;
  box-shadow: 2px 2px 0 #fafaf7, 5px 5px 0 #171b20, 14px 16px 0 rgba(23,27,32,.17);
  pointer-events: auto;
  resize: none;
  overflow: hidden;
}
.finder-window.is-front { box-shadow: 2px 2px 0 #fafaf7, 5px 5px 0 #171b20, 17px 19px 0 rgba(23,27,32,.23); }
.finder-window.is-collapsing { pointer-events: none; animation: window-collapse .18s cubic-bezier(.24,.8,.42,1) both; }
.close-all-shield { position: absolute; inset: 0; z-index: 9999; pointer-events: auto; touch-action: none; user-select: none; -webkit-user-select: none; }
@keyframes window-collapse {
  0% { opacity: 1; transform: scale(1); filter: saturate(1); }
  28% { transform: scale(1.018); }
  100% { opacity: 0; transform: scale(.78); filter: saturate(.4); }
}
.window-titlebar {
  flex: 0 0 31px;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 5px;
  padding: 4px 6px;
  position: relative;
  border-bottom: 2px solid #171b20;
  background: #fafaf7;
  cursor: grab;
  touch-action: none;
  user-select: none;
}
.window-titlebar::before { content: ""; position: absolute; inset: 5px 6px; background: repeating-linear-gradient(to bottom, #fafaf7 0 1px, #505659 1px 2px, #fafaf7 2px 3px); pointer-events: none; }
.window-titlebar > * { position: relative; z-index: 1; }
.window-titlebar:active { cursor: grabbing; }
.window-title {
  justify-self: center;
  max-width: 100%;
  margin: 0;
  padding: 1px 12px 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #fafaf7;
  border: 1px solid #171b20;
  box-shadow: inset 0 1px 0 #fff, 1px 1px 0 #c2c8c4;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .02em;
}
.window-control { display: grid; place-items: center; width: 18px; height: 18px; padding: 0; border: 1px solid #171b20; background: #fafaf7; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #aeb4b0; color: #171b20; font-size: 15px; line-height: 1; cursor: pointer; touch-action: none; user-select: none; -webkit-user-select: none; }
.window-control:active { transform: translate(1px, 1px); box-shadow: inset 1px 1px 0 #8f9692; }
.window-control.is-holding { background: #dce8e9; box-shadow: inset 1px 1px 0 #8fa9b5, inset -1px -1px 0 #fafaf7; }
.window-info { flex: 0 0 auto; min-height: 31px; padding: 6px 12px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-bottom: 2px solid #171b20; font-size: 12px; color: #51595b; font-weight: 700; white-space: nowrap; overflow: hidden; }
.window-info span { overflow: hidden; text-overflow: ellipsis; }
.window-path { flex: 0 0 auto; min-height: 38px; padding: 5px 10px; display: flex; align-items: center; gap: 4px; overflow-x: auto; border-bottom: 1px solid #aeb2ad; white-space: nowrap; scrollbar-width: thin; }
.path-part { border: 0; background: transparent; padding: 3px 4px; font-size: 12px; font-weight: 700; cursor: pointer; color: #3d505c; }
.path-part:hover { text-decoration: underline; }
.path-part:active { transform: translate(1px, 1px); }
.path-part:last-child { color: #1b2022; cursor: default; }
.path-divider { color: #9ba19f; font-size: 12px; }
.window-body { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 20px 21px 28px; background: #fafaf7; }
.text-editor { width: min(700px, calc(100% - 26px)); height: min(510px, calc(100% - 26px)); }
.editor-info { color: #3e555c; }
.settings-info { color: #3e555c; }
.editor-body { display: flex; padding: 0; overflow: hidden; background: #eef1eb; }
.text-editor-area { width: 100%; height: 100%; resize: none; border: 0; outline: 0; padding: 18px 20px; background: #eef1eb; color: #1b2427; font: 14px/1.55 "Courier New", Courier, monospace; white-space: pre-wrap; tab-size: 2; }
.text-editor-area:focus { background: #f7f8f2; }
.editor-save { min-width: 58px; min-height: 23px; border: 1px solid #171b20; background: #dce8e9; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #8fa9b5; color: #182126; font: 800 11px "Courier New", Courier, monospace; cursor: pointer; }
.editor-save:active { transform: translate(1px, 1px); box-shadow: inset 1px 1px 0 #8fa9b5; }
.video-player-window { width: min(760px, calc(100% - 26px)); height: min(560px, calc(100% - 26px)); min-width: 480px; min-height: 410px; }
.video-player-info { color: #3e555c; }
.video-player-body { display: flex; flex-direction: column; gap: 10px; padding: 12px; overflow: hidden; background: #dce8e9; }
.video-player-frame { position: relative; flex: 1 1 auto; min-height: 0; border: 2px solid #171b20; background: #101517; box-shadow: inset 1px 1px 0 #6b7676; }
.video-player-host, .video-player-host iframe { width: 100%; height: 100%; border: 0; display: block; }
.video-player-notice { flex: 0 0 auto; margin: 0; padding: 7px 9px; border: 1px solid #693d3c; background: #f0dfdc; color: #542f2e; font: 700 11px/1.35 "Courier New", Courier, monospace; }
.video-player-controls { display: grid; grid-template-columns: auto auto auto auto minmax(70px, 1fr) auto auto minmax(54px, .45fr) auto auto; align-items: center; gap: 6px; flex: 0 0 auto; }
.video-player-control { min-height: 29px; padding: 4px 8px; border: 1px solid #171b20; background: #eef1eb; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #9ba7a7; color: #182126; font: 800 10px "Courier New", Courier, monospace; white-space: nowrap; cursor: pointer; }
.video-player-control:active { transform: translate(1px, 1px); box-shadow: inset 1px 1px 0 #9ba7a7; }
.video-player-time { min-width: 37px; color: #33484f; font: 800 10px "Courier New", Courier, monospace; text-align: center; white-space: nowrap; }
.video-player-quality { min-width: 78px; padding: 5px 6px; border: 1px solid #809297; background: #d8e3e3; color: #33484f; font: 800 9px "Courier New", Courier, monospace; text-align: center; white-space: nowrap; }
.video-player-scrubber, .video-player-volume { width: 100%; accent-color: #527582; cursor: pointer; }
.video-player-window .window-bottom { flex: 0 0 34px; display: flex; align-items: center; padding: 3px 25px 3px 7px; box-sizing: border-box; }
.video-series-nav { display: flex; align-items: center; min-width: 0; width: 100%; gap: 7px; }
.video-series-label { flex: 0 0 auto; color: #3b535b; font: 800 9px "Courier New", Courier, monospace; letter-spacing: .06em; }
.video-series-buttons { display: flex; min-width: 0; gap: 4px; overflow-x: auto; scrollbar-width: thin; }
.video-series-button { flex: 0 0 auto; min-height: 23px; padding: 3px 8px; border: 1px solid #263033; background: #eef1eb; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #9ba7a7; color: #263033; font: 800 9px "Courier New", Courier, monospace; white-space: nowrap; cursor: pointer; }
.video-series-button.is-current, .video-series-button:disabled { background: #64818a; box-shadow: inset 1px 1px 0 #a9c2c7, inset -1px -1px 0 #3a535b; color: #fff; cursor: default; opacity: 1; }
.video-series-button:disabled:not(.is-current) { background: #c9ceca; box-shadow: inset 1px 1px 0 #e9ece7, inset -1px -1px 0 #9ba29d; color: #707975; }
.text-file-dialog { width: min(350px, calc(100% - 26px)); height: 180px; min-width: 0; min-height: 0; }
.text-file-dialog-body { padding: 22px; background: #eef1eb; }
.text-file-dialog-form { display: grid; gap: 18px; }
.text-file-dialog-form label { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 8px; color: #3b4d54; font-size: 12px; font-weight: 800; }
.text-file-dialog-form input { width: 100%; min-width: 0; height: 29px; padding: 4px 7px; border: 2px solid #343c3d; border-color: #343c3d #fafaf7 #fafaf7 #343c3d; outline: 0; background: #fafaf7; color: #1b2427; font: 13px "Courier New", Courier, monospace; }
.text-file-dialog-controls { display: flex; justify-content: flex-end; gap: 8px; }
.text-file-dialog-controls button { min-width: 68px; min-height: 27px; border: 1px solid #171b20; background: #dce8e9; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #8fa9b5; color: #182126; font-size: 12px; font-weight: 800; cursor: pointer; }
.text-file-dialog-controls button:active { transform: translate(1px, 1px); }
.shortcut-kind-dialog { width: min(410px, calc(100% - 26px)); height: 238px; min-width: 0; min-height: 0; }
.shortcut-kind-body { display: grid; align-content: start; gap: 13px; padding: 18px 20px; background: #eef1eb; }
.shortcut-kind-body > p { margin: 0; color: #3b4d54; font-size: 13px; line-height: 1.4; }
.shortcut-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.shortcut-choice, .shortcut-confirm, .shortcut-cancel { border: 1px solid #171b20; background: #dce8e9; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #8fa9b5; color: #182126; cursor: pointer; }
.shortcut-choice { display: grid; min-height: 79px; padding: 10px; text-align: left; }
.shortcut-choice strong { font-size: 13px; }
.shortcut-choice span { margin-top: 4px; color: #51636a; font: 11px/1.25 "Courier New", Courier, monospace; }
.shortcut-choice:active, .shortcut-confirm:active, .shortcut-cancel:active { transform: translate(1px, 1px); box-shadow: inset 1px 1px 0 #8fa9b5; }
.shortcut-cancel { justify-self: end; min-width: 68px; min-height: 27px; font-size: 12px; font-weight: 800; }
.shortcut-picker { width: min(620px, calc(100% - 26px)); height: min(430px, calc(100% - 26px)); min-width: 330px; min-height: 270px; }
.shortcut-picker-info { color: #3e555c; }
.shortcut-picker-body { display: flex; flex-direction: column; gap: 14px; padding: 17px 19px 22px; background: #fafaf7; }
.shortcut-confirm { align-self: flex-start; min-height: 29px; padding: 5px 10px; font: 800 11px "Courier New", Courier, monospace; }
.shortcut-folder-grid { flex: 0 0 auto; }
.shortcut-picker-folder { min-height: 100px; }
.shortcut-vod-choice { width: 100%; border: 0; text-align: left; cursor: pointer; background: #fafaf7; font: inherit; }
.shortcut-vod-choice:hover { background: #e7ecea; }
.shortcut-vod-list { margin-top: 2px; }
.delete-confirmation { height: 188px; }
.delete-confirmation-body { display: grid; align-content: space-between; gap: 15px; }
.delete-confirmation-body p { margin: 0; color: #3b4d54; font-size: 13px; line-height: 1.5; }
.delete-confirmation .text-file-dialog-controls { justify-content: center; }
.properties-window { width: min(420px, calc(100% - 26px)); height: auto; min-width: 300px; min-height: 0; max-height: min(340px, calc(100% - 26px)); }
.properties-window .properties-body { flex: 0 1 auto; overflow: auto; }
.properties-info { color: #3e555c; }
.properties-body { padding: 18px; background: #eef1eb; color: #3b4d54; font-size: 12px; line-height: 1.45; }
.properties-heading { display: block; color: #182126; font-family: Arial, Helvetica, sans-serif; font-size: 15px; }
.properties-body p { margin: 7px 0 11px; }
.properties-progress { height: 14px; overflow: hidden; border: 2px solid #171b20; background: #fafaf7; box-shadow: inset 1px 1px 0 #aeb8b3; }
.properties-progress span { display: block; height: 100%; background: repeating-linear-gradient(90deg, #6f96a5 0 6px, #b7cfd6 6px 8px); }
.properties-subheading { display: block; margin-top: 16px; color: #182126; font-family: Arial, Helvetica, sans-serif; font-size: 13px; }
.properties-empty { color: #657071; }
.properties-year-list { max-height: 116px; margin: 7px 0 0; padding-left: 20px; overflow: auto; border-top: 1px solid #aeb2ad; border-bottom: 1px solid #aeb2ad; background: #fafaf7; }
.properties-year-list li { padding: 4px 0; border-bottom: 1px dotted #b8c0bd; }
.find-window { width: min(620px, calc(100% - 26px)); height: min(440px, calc(100% - 26px)); min-width: 340px; min-height: 270px; }
.find-info { color: #3e555c; }
.find-info .find-shortcut-hint { flex: 0 0 auto; padding-right: 4px; overflow: visible; text-overflow: clip; font-family: "Courier New", Courier, monospace; font-size: 11px; letter-spacing: .02em; }
.find-body { display: flex; flex-direction: column; gap: 11px; padding: 16px 18px 14px; overflow: hidden; background: #eef1eb; }
.find-field { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 8px; color: #3b4d54; font-size: 12px; font-weight: 800; }
.find-input { width: 100%; min-width: 0; height: 31px; padding: 4px 8px; border: 2px solid #343c3d; border-color: #343c3d #fafaf7 #fafaf7 #343c3d; outline: 0; background: #fafaf7; color: #1b2427; box-shadow: inset 1px 1px 0 #aeb8b3; font: 13px "Courier New", Courier, monospace; }
.find-input:focus { background: #fff; box-shadow: inset 1px 1px 0 #91a5a4; }
.find-input::placeholder { color: #8d9694; opacity: 1; }
.find-input::-webkit-search-cancel-button { -webkit-appearance: none; }
.find-summary { flex: 0 0 auto; margin: 0; color: #52616a; font-size: 11px; font-weight: 700; line-height: 1.3; }
.find-results { flex: 1 1 auto; min-height: 0; overflow: auto; border: 1px solid #8e9895; background: #fafaf7; }
.find-empty { margin: 0; padding: 19px 15px; color: #657071; font-size: 12px; line-height: 1.45; }
.find-result { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 7px; min-height: 58px; padding: 7px 10px; border-bottom: 1px solid #c2c8c4; background: #fafaf7; color: #1b2427; }
.find-result:hover, .find-result.is-expanded { background: #edf3f2; }
.find-result:focus-within { background: #dce8e9; box-shadow: inset 0 1px 0 #f8fbf9, inset 0 -1px 0 #b9c8c5; }
.find-result-main { display: grid; min-width: 0; grid-template-columns: 35px minmax(0, 1fr); align-items: center; gap: 10px; border: 0; padding: 0; background: transparent; color: inherit; text-align: left; cursor: default; }
.find-result-main:focus { outline: 0; }
.find-result-main:active { transform: translate(1px, 1px); }
.find-result-controls { display: flex; align-items: center; gap: 4px; }
.find-result-marker { display: grid; width: 35px; height: 31px; place-items: center; }
.find-result-marker svg { display: block; width: 100%; height: 100%; filter: drop-shadow(1px 1px 0 rgba(23, 27, 32, .16)); shape-rendering: crispEdges; }
.find-result-marker.is-folder svg { width: 34px; }
.find-result-marker.is-vod svg { width: 33px; }
.find-result-copy { display: grid; min-width: 0; gap: 3px; }
.find-result-copy strong { overflow: hidden; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.find-result-copy span { overflow: hidden; color: #596568; font: 11px/1.2 "Courier New", Courier, monospace; text-overflow: ellipsis; white-space: nowrap; }
.find-result-action, .find-result-expand, .find-vod-play { min-width: 43px; padding: 4px 5px; border: 1px solid #6d7a7d; background: #eef3f1; color: #3d5964; font: 800 10px "Courier New", Courier, monospace; letter-spacing: .07em; text-align: center; text-transform: uppercase; cursor: pointer; }
.find-result-expand { min-width: 25px; padding-inline: 4px; font-size: 13px; line-height: 1; }
.find-result-action:hover, .find-result-action:focus, .find-result-expand:hover, .find-result-expand:focus, .find-vod-play:hover, .find-vod-play:focus { outline: 0; border-color: #29383c; background: #fff; color: #1d2d32; }
.find-result-action:active, .find-result-expand:active, .find-vod-play:active { transform: translate(1px, 1px); }
.find-result-vods { grid-column: 1 / -1; display: grid; gap: 4px; margin: 0 0 1px 45px; padding: 6px; border: 1px solid #9facab; background: #f8faf7; box-shadow: inset 1px 1px 0 #fff; }
.find-result-vod { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 36px; padding: 3px 4px; border-bottom: 1px dotted #b4bfbb; }
.find-result-vod:last-child { border-bottom: 0; }
.find-result-vod .find-result-marker { width: 28px; height: 24px; }
.find-result-vod .find-result-copy strong { font-size: 12px; }
.find-result-vod .find-result-copy span { font-size: 10px; }
.ltools-window { width: min(560px, calc(100% - 26px)); height: min(410px, calc(100% - 26px)); min-width: 380px; min-height: 350px; }
.ltools-info { color: #3e555c; }
.ltools-body { display: flex; align-items: flex-start; padding: 17px 20px; overflow: auto; background: #fafaf7; }
.ltools-grid { width: min(100%, 480px); grid-template-columns: repeat(3, minmax(110px, 1fr)); gap: 13px 18px; }
.ltools-tool-icon { min-height: 132px; padding: 10px 5px; }
.ltools-tool-icon .icon-art { width: 65px; height: 60px; }
.ltools-tool-icon .icon-art img { display: block; width: 100%; height: 100%; margin: auto; object-fit: contain; }
.lquiz-window { width: min(550px, calc(100% - 26px)); height: min(630px, calc(100% - 26px)); min-width: 340px; min-height: 430px; }
.lquiz-info { color: #3e555c; }
.lquiz-body { position: relative; display: flex; padding: 0; overflow: auto; background: #dce8e9; }
.lquiz-body::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .12; background: repeating-linear-gradient(0deg, rgba(17,27,32,.35) 0 1px, transparent 1px 3px); mix-blend-mode: multiply; }
.lquiz-splash { position: relative; isolation: isolate; display: grid; width: 100%; min-height: 470px; place-items: center; overflow: hidden; border: 4px solid #1a242a; background-color: #b5cbd5; background-image: linear-gradient(rgba(231,239,239,.04), rgba(40,57,68,.26)), url("/index/lquiz-splash-v2.png?v=0.14.6"); background-position: center; background-size: cover; box-shadow: inset 0 0 0 3px #f7f7f2, inset 0 0 0 6px #6e8995; }
.lquiz-splash::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: radial-gradient(circle at center, rgba(243,247,243,.06), rgba(16,27,34,.31)); }
.lquiz-splash::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .28; background: repeating-linear-gradient(0deg, rgba(241,246,244,.13) 0 1px, transparent 1px 4px); }
.lquiz-splash-copy { position: relative; z-index: 2; display: grid; gap: 2px; padding: 12px 18px; border: 3px solid #172127; background: rgba(245,247,243,.92); box-shadow: 4px 4px 0 #26353d, inset 2px 2px 0 #fff; color: #172127; text-align: center; text-shadow: 1px 1px 0 #d9e8e8; }
.lquiz-splash-copy strong { font-family: Arial, Helvetica, sans-serif; font-size: clamp(34px, 9vw, 54px); font-weight: 900; letter-spacing: .08em; line-height: .9; }
.lquiz-splash-copy span { color: #486673; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.lquiz-region-logo { position: absolute; z-index: 1; display: grid; width: clamp(82px, 19%, 110px); height: 65px; place-items: center; overflow: hidden; padding: 7px 9px; border: 2px solid #25323a; background: linear-gradient(135deg, rgba(213,214,204,.96), rgba(159,173,171,.94)); box-shadow: 2px 2px 0 #172127, inset 2px 2px 0 rgba(248,246,235,.64), inset -1px -1px 0 rgba(78,95,93,.45); animation: lquiz-float 2.8s steps(4, end) infinite; }
.lquiz-region-mark { position: absolute; inset: 7px 9px; display: block; width: calc(100% - 18px); height: calc(100% - 14px); max-width: none; max-height: none; object-fit: contain; object-position: center; filter: contrast(1.14) drop-shadow(1px 2px 0 rgba(14,26,33,.35)); image-rendering: auto; opacity: 0; transform: scale(var(--region-mark-scale, 1)) translateY(var(--region-mark-y, 0)); animation: lquiz-mark-cycle 14s linear infinite; }
.lquiz-region-mark:nth-child(1) { opacity: 1; animation-delay: 0s !important; }
.lquiz-region-mark:nth-child(2) { animation-delay: -7s !important; }
.lquiz-region-mark.is-blend-multiply { mix-blend-mode: multiply; }
.lquiz-region-logo.badge-0 { --region-mark-scale: .9; --region-mark-y: -1px; }
.lquiz-region-logo.badge-1 { --region-mark-scale: .9; }
.lquiz-region-logo.badge-2, .lquiz-region-logo.badge-3 { --region-mark-scale: .88; }
.lquiz-region-logo.badge-0 { top: 7%; left: 4%; }
.lquiz-region-logo.badge-1 { top: 7%; right: 4%; animation-delay: -.6s; }
.lquiz-region-logo.badge-2 { bottom: 9%; left: 4%; animation-delay: -1.2s; }
.lquiz-region-logo.badge-3 { right: 4%; bottom: 9%; animation-delay: -1.8s; }
@keyframes lquiz-float { 50% { transform: translateY(-5px); } }
@keyframes lquiz-mark-cycle { 0%, 47% { opacity: 1; } 50%, 97% { opacity: 0; } 100% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .lquiz-region-mark { animation: none; } .lquiz-region-mark:not(:first-child) { display: none; } }
.lquiz-menu { display: grid; width: 100%; min-height: 100%; grid-template-rows: minmax(0, 1fr) auto; align-items: stretch; background: #edf1ed; }
.lquiz-menu .lquiz-splash { min-height: 0; border-width: 4px 4px 0; box-shadow: inset 0 0 0 3px #f7f7f2, inset 0 0 0 6px #6e8995; }
.lquiz-menu-controls, .lquiz-results-controls { display: grid; gap: 9px; padding: 0 24px 32px; }
.lquiz-title-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 13px 16px 18px; border-top: 3px solid #172127; background: #c6d4d4; box-shadow: inset 0 2px 0 #f8faf5; }
.lquiz-title-controls .lquiz-control { min-height: 53px; border-width: 2px 1px; }
.lquiz-title-controls .lquiz-control:first-child { border-left-width: 2px; }
.lquiz-title-controls .lquiz-control:last-child { border-right-width: 2px; }
.lquiz-results h3, .lquiz-score-panel h3 { font-family: Arial, Helvetica, sans-serif; font-size: 20px; letter-spacing: .04em; }
.lquiz-score-panel > p { margin: 0; color: #4d5e63; font-size: 12px; line-height: 1.45; }
.lquiz-control { min-height: 38px; border: 2px solid #172127; background: #f7f7f2; box-shadow: inset 2px 2px 0 #fff, inset -2px -2px 0 #a8b8ba, 2px 2px 0 #26343b; color: #172127; cursor: pointer; font: 800 12px "Courier New", Courier, monospace; letter-spacing: .07em; }
.lquiz-control.is-primary, .lquiz-control.is-keyboard-selected { background: #526c79; color: #fff; box-shadow: inset 2px 2px 0 #b9d1d5, inset -2px -2px 0 #334b55, 2px 2px 0 #172127; }
.lquiz-control:focus-visible, .lquiz-choice:focus-visible { outline: 0; }
.lquiz-control:active { transform: translate(2px, 2px); box-shadow: inset 2px 2px 0 rgba(20,29,32,.25); }
.lquiz-game { position: relative; z-index: 1; display: flex; width: 100%; min-height: 100%; flex-direction: column; gap: 15px; padding: 22px; background: #eff3ef; }
.lquiz-game > * { flex: 0 0 auto; }
.lquiz-progress { height: 11px; overflow: hidden; border: 2px solid #172127; background: #d0dad8; box-shadow: inset 1px 1px 0 #fff; }
.lquiz-progress span { display: block; height: 100%; background: repeating-linear-gradient(90deg, #456673 0 7px, #5b7d89 7px 10px); transition: width .18s steps(5, end); }
.lquiz-category { align-self: flex-start; padding: 4px 7px; border: 1px solid #526c79; background: #dce8e9; color: #38535d; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.lquiz-question { margin: 0; min-height: 76px; font-family: Arial, Helvetica, sans-serif; font-size: clamp(20px, 3.6vw, 27px); line-height: 1.2; }
.lquiz-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.lquiz-choice { position: relative; min-height: 67px; padding: 10px 11px 10px 36px; border: 2px solid #172127; background: #fafaf7; box-shadow: inset 2px 2px 0 #fff, inset -2px -2px 0 #c2cfce, 2px 2px 0 rgba(28,37,41,.22); color: #172127; cursor: pointer; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 800; line-height: 1.2; text-align: left; }
.lquiz-choice:hover:not(:disabled) { background: #e1ecee; }
.lquiz-choice:active:not(:disabled) { transform: translate(2px, 2px); box-shadow: inset 2px 2px 0 #a9b9bb; }
.lquiz-choice.is-keyboard-selected { z-index: 1; background: #526c79; box-shadow: inset 2px 2px 0 #b9d1d5, inset -2px -2px 0 #334b55, 2px 2px 0 #172127; color: #fff; }
.lquiz-choice:disabled { cursor: default; }
.lquiz-choice.is-correct { border-color: #355a4b; background: #c8ddd1; color: #153b2d; }
.lquiz-choice.is-wrong { border-color: #6d3d3d; background: #ead4d1; color: #542525; }
.lquiz-choice-key { position: absolute; top: 9px; left: 9px; display: grid; width: 19px; height: 19px; place-items: center; border: 1px solid currentColor; background: rgba(255,255,255,.5); font: 800 10px "Courier New", Courier, monospace; }
.lquiz-feedback { display: grid; gap: 7px; padding: 12px; border: 2px solid #172127; background: #e1ecee; box-shadow: 3px 3px 0 rgba(21,30,32,.22); }
.lquiz-feedback.is-correct { background: #d5e6dc; }
.lquiz-feedback.is-wrong { background: #eee0dc; }
.lquiz-feedback strong { font-family: Arial, Helvetica, sans-serif; font-size: 16px; letter-spacing: .08em; }
.lquiz-feedback p { margin: 0; color: #36474a; font-size: 12px; line-height: 1.4; }
.lquiz-feedback .lquiz-control { justify-self: start; min-width: 160px; }
.lquiz-results, .lquiz-score-panel { position: relative; z-index: 1; width: 100%; padding: 19px 21px 34px; background: #eff3ef; }
.lquiz-result-top { display: grid; place-items: center; gap: 2px; padding: 13px; border: 3px solid #172127; background: #d3e1e1; box-shadow: inset 2px 2px 0 #fff, 4px 4px 0 #344852; }
.lquiz-result-top span { color: #425965; font-size: 11px; font-weight: 800; letter-spacing: .15em; }
.lquiz-result-top strong { font-family: Arial, Helvetica, sans-serif; font-size: 46px; line-height: 1; }
.lquiz-result-top em { color: #314b57; font-size: 13px; font-style: normal; font-weight: 800; letter-spacing: .08em; }
.lquiz-results h3 { margin: 22px 0 10px; font-size: 15px; }
.lquiz-review { display: grid; gap: 7px; margin: 0 0 17px; padding: 0; list-style: none; }
.lquiz-review li { display: grid; gap: 3px; padding: 9px 10px; border-left: 5px solid #4f7361; background: #e1eee6; color: #244738; font-size: 12px; line-height: 1.35; }
.lquiz-review li.is-wrong { border-left-color: #8b4b4b; background: #f2e4e1; color: #5a2929; }
.lquiz-review strong { color: #172127; }
.lquiz-review-correct { color: #173c2d; font-weight: 800; }
.lquiz-results-controls { padding: 8px 0 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lquiz-score-panel { display: grid; align-content: start; gap: 10px; }
.lquiz-score-panel h3 { margin: 0; }
.lquiz-score-list { display: grid; gap: 7px; margin: 3px 0 7px; padding: 0; list-style: none; }
.lquiz-score-list li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px; border: 1px solid #8a9998; background: #fafaf7; }
.lquiz-score-list li strong { color: #244651; font-family: Arial, Helvetica, sans-serif; font-size: 17px; }
.lquiz-score-list li span { color: #526268; font-size: 11px; font-weight: 700; }
.lquiz-score-list li.is-empty { display: block; color: #596568; font-size: 12px; text-align: center; }
.lrally-window { width: min(520px, calc(100% - 26px)); height: min(585px, calc(100% - 26px)); min-width: 330px; min-height: 420px; }
.lrally-info { color: #3e555c; }
.lrally-body { min-height: 0; padding: 0; overflow: hidden; background: #1f3035; }
.lrally-shell { display: grid; width: 100%; height: 100%; min-height: 0; grid-template-rows: minmax(0, 1fr) 47px; background: #1f3035; }
.lrally-canvas { display: block; width: 100%; height: 100%; min-height: 0; touch-action: none; image-rendering: pixelated; }
.lrally-controls { display: grid; min-height: 47px; grid-template-columns: minmax(145px, .9fr) minmax(0, 1.1fr); align-items: stretch; border-top: 2px solid #171b20; background: #c6d4d4; box-shadow: inset 0 2px 0 #f8faf5; }
.lrally-control { min-height: 45px; border: 2px solid #172127; border-width: 2px 1px 2px 2px; background: #f7f7f2; box-shadow: inset 2px 2px 0 #fff, inset -2px -2px 0 #a8b8ba; color: #172127; cursor: pointer; font: 800 12px "Courier New", Courier, monospace; letter-spacing: .07em; }
.lrally-control.is-primary { background: #526c79; color: #fff; box-shadow: inset 2px 2px 0 #b9d1d5, inset -2px -2px 0 #334b55; }
.lrally-control:active { transform: translate(1px, 1px); }
.lrally-score { display: grid; place-items: center; border: 2px solid #172127; border-left-width: 1px; background: #edf3ef; color: #324b55; font: 800 11px "Courier New", Courier, monospace; letter-spacing: .06em; }
.near-airport-window { width: min(840px, calc(100% - 26px)); height: min(650px, calc(100% - 26px)); min-width: 340px; min-height: 440px; }
.near-airport-info { color: #3e555c; }
.window-body.near-airport-body { min-height: 0; padding: 0; overflow: hidden; background: #101d2c; }
.near-airport-shell { display: grid; width: 100%; height: 100%; min-height: 0; grid-template-rows: minmax(0, 1fr) 47px; background: #526c79; }
.near-airport-canvas { display: block; width: 100%; height: 100%; min-height: 0; touch-action: none; image-rendering: pixelated; }
.near-airport-controls { display: grid; min-height: 47px; grid-template-columns: minmax(170px, 1fr) minmax(0, 1fr); align-items: stretch; border-top: 2px solid #172127; background: #c6d4d4; box-shadow: inset 0 2px 0 #f8faf5; }
.near-airport-control { min-height: 45px; border: 2px solid #172127; border-width: 2px 1px 2px 2px; background: #f7f7f2; box-shadow: inset 2px 2px 0 #fff, inset -2px -2px 0 #a8b8ba; color: #172127; cursor: pointer; font: 800 12px "Courier New", Courier, monospace; letter-spacing: .07em; }
.near-airport-control.is-primary { background: #172b3e; color: #f3c675; box-shadow: inset 2px 2px 0 #7695a1, inset -2px -2px 0 #101d2c; }
.near-airport-control:active { transform: translate(1px, 1px); }
.near-airport-score { display: grid; place-items: center; border: 2px solid #172127; border-left-width: 1px; background: #172b3e; color: #c5d6e3; font: 800 11px "Courier New", Courier, monospace; letter-spacing: .06em; }
.mail-window { width: min(590px, calc(100% - 26px)); height: min(470px, calc(100% - 26px)); min-height: 335px; }
.mail-info { color: #3e555c; }
.mail-body { display: flex; padding: 14px 16px 16px; overflow: auto; background: #eef1eb; }
.mail-form { display: flex; flex: 1 1 auto; min-height: 0; flex-direction: column; gap: 10px; }
.mail-field, .mail-compose { display: grid; grid-template-columns: 62px minmax(0, 1fr); align-items: center; gap: 8px; color: #3b4d54; font-size: 12px; font-weight: 800; }
.mail-field > span, .mail-compose > span { text-align: right; }
.mail-field input, .mail-compose textarea { width: 100%; min-width: 0; border: 2px solid #343c3d; border-color: #343c3d #fafaf7 #fafaf7 #343c3d; outline: 0; background: #fafaf7; color: #1b2427; box-shadow: inset 1px 1px 0 #aeb8b3; font: 13px "Courier New", Courier, monospace; }
.mail-field input { height: 29px; padding: 4px 7px; }
.mail-field input[readonly] { background: #dbe2df; color: #48565a; }
.mail-from-field { grid-template-columns: 62px minmax(0, .75fr) minmax(0, 1.25fr); }
.mail-compose { align-items: stretch; flex: 1 1 auto; min-height: 130px; }
.mail-compose textarea { min-height: 130px; height: 100%; padding: 8px; resize: none; line-height: 1.45; }
.mail-field input::placeholder, .mail-compose textarea::placeholder { color: #8d9694; opacity: 1; }
.mail-field input:focus::placeholder, .mail-compose textarea:focus::placeholder { color: transparent; }
.mail-field input:focus, .mail-compose textarea:focus { background: #fff; box-shadow: inset 1px 1px 0 #91a5a4; }
.mail-controls { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-left: 70px; }
.mail-send { min-width: 86px; min-height: 29px; border: 2px solid #171b20; background: #dce8e9; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #8fa9b5; color: #182126; font-size: 12px; font-weight: 800; cursor: pointer; }
.mail-send:active { transform: translate(1px, 1px); box-shadow: inset 1px 1px 0 #8fa9b5; }
.mail-send:disabled { color: #707a78; cursor: wait; }
.mail-notice { min-height: 16px; color: #52616a; font-size: 11px; font-weight: 700; text-align: right; }
.settings-window { width: min(550px, calc(100% - 26px)); height: min(520px, calc(100% - 26px)); min-height: 350px; }
.settings-body { padding: 18px; background: #eef1eb; }
.settings-tabs { display: flex; gap: 5px; margin: 0 0 16px; padding-bottom: 6px; border-bottom: 1px solid #8e9895; }
.settings-tab { border: 1px solid #171b20; padding: 6px 10px; background: #d9ded9; box-shadow: inset 1px 1px 0 #fff; color: #425059; font-size: 12px; font-weight: 800; letter-spacing: .035em; cursor: pointer; }
.settings-tab.is-active { position: relative; top: 1px; background: #fafaf7; color: #171b20; box-shadow: inset 1px 1px 0 #fff, 1px 0 0 #fafaf7, -1px 0 0 #fafaf7; }
.settings-tab:active { transform: translate(1px, 1px); }
.settings-panel[hidden] { display: none; }
.settings-intro { margin: 0 0 12px; color: #52616a; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.setting-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 12px; border: 1px solid #8e9895; border-bottom: 0; background: #fafaf7; }
.setting-row:last-child { border-bottom: 1px solid #8e9895; }
.setting-copy { min-width: 0; display: grid; gap: 4px; }
.setting-copy strong { font-family: Arial, Helvetica, sans-serif; font-size: 14px; }
.setting-copy span { color: #5d686a; font-size: 12px; line-height: 1.35; }
.setting-toggle { width: 52px; height: 25px; flex: 0 0 52px; border: 2px solid #171b20; padding: 0 4px; background: #d5d9d5; color: #4b5454; box-shadow: inset 1px 1px 0 #fff; font-size: 11px; font-weight: 800; letter-spacing: .08em; cursor: pointer; }
.setting-toggle.is-on { background: #526c79; color: #fff; box-shadow: inset 1px 1px 0 #b9d0d5; }
.setting-toggle:active { transform: translate(1px, 1px); }
.wallpaper-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.wallpaper-choice { display: grid; grid-template-columns: 88px minmax(0, 1fr); min-height: 80px; padding: 5px; border: 1px solid #596461; background: #fafaf7; color: #171b20; text-align: left; box-shadow: inset 1px 1px 0 #fff; cursor: pointer; }
.wallpaper-choice:hover { background: #f4f6f2; }
.wallpaper-choice.is-selected { border: 2px solid #235b8d; padding: 4px; background: #e3edf0; box-shadow: inset 1px 1px 0 #fff; }
.wallpaper-choice:active { transform: translate(1px, 1px); }
.wallpaper-preview { display: block; min-height: 66px; border: 1px solid #364047; background-color: #8e9491; background-image: repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.08) 3px 4px), repeating-linear-gradient(90deg, transparent 0 3px, rgba(20,25,24,.06) 3px 4px); background-position: center; background-repeat: no-repeat; background-size: cover; }
.wallpaper-preview-ivory { background-color: #e9e4d8; background-image: none; }
.wallpaper-choice-copy { min-width: 0; display: grid; align-content: center; gap: 6px; padding: 3px 7px; }
.wallpaper-choice-copy strong { font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.12; }
.wallpaper-choice-state { color: #235b8d !important; font-size: 10px !important; font-weight: 800; letter-spacing: .08em; }
.item-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 13px 12px; align-items: start; }
.item-icon { padding: 9px 5px; min-height: 112px; }
.ltools-test-game[hidden] { display: none; }
.item-icon .icon-art { width: 57px; height: 52px; }
.item-icon .icon-label { max-width: 100%; padding: 3px 4px; font-size: 13px; line-height: 1.25; font-weight: 700; text-align: center; overflow-wrap: anywhere; }
.item-icon.is-selected .icon-label { color: white; background: #1e2730; }
.vod-row.is-selected { background: #dce8e9; outline: 2px solid #1e2730; outline-offset: -2px; }
:root[data-folder-hover="on"] .item-icon:hover .icon-art { transform: translateY(-2px); }
.desktop-icon:active .icon-art, .desktop-icon.is-selected:active .icon-art, .item-icon:active .icon-art { transform: translate(1px, 2px); filter: drop-shadow(1px 2px 0 rgba(14,23,23,.17)); }
.desktop-icon:active .icon-label, .item-icon:active .icon-label { transform: translate(1px, 1px); }
.desktop-icon .icon-label, .item-icon .icon-label { transition: transform .12s ease; }
.icon-art { flex: none; transition: transform .15s ease; }
.icon-art svg { width: 100%; height: 100%; display: block; shape-rendering: crispEdges; }
@media (hover: hover) and (pointer: fine) { .bin-icon .icon-art svg { shape-rendering: geometricPrecision; } }
.file-list { display: flex; flex-direction: column; border-top: 1px solid #adb2b0; }
.vod-row { display: grid; grid-template-columns: 38px minmax(0,1fr) 17px; align-items: center; gap: 14px; min-height: 73px; padding: 11px 8px; border-bottom: 1px solid #adb2b0; color: #171b20; text-decoration: none; }
.vod-row:hover { background: #e7ecea; }
.vod-row:active { transform: translate(1px, 1px); }
.vod-symbol { display: grid; place-items: center; width: 35px; height: 31px; border: 2px solid #1c2325; background: #dfe8ed; color: #1c2325; font-size: 15px; }
.vod-copy { min-width: 0; }
.vod-name { display: block; font-family: Arial, Helvetica, sans-serif; font-size: 15px; font-weight: 800; line-height: 1.3; }
.vod-meta { display: block; margin-top: 4px; font-size: 12px; color: #626b6d; line-height: 1.3; }
.vod-arrow { font-size: 19px; font-weight: 700; }
.empty-state { display: grid; place-content: center; min-height: 160px; color: #596365; text-align: center; font-size: 14px; line-height: 1.5; }
.empty-state strong { color: #2d3638; }
.bin-body { display: flex; flex-direction: column; gap: 17px; }
.bin-actions { display: flex; justify-content: flex-end; padding-bottom: 12px; border-bottom: 1px solid #aeb2ad; }
.bin-empty-button { min-height: 30px; padding: 5px 10px; border: 1px solid #171b20; background: #dce8e9; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #8fa9b5; color: #182126; font: 800 11px "Courier New", Courier, monospace; cursor: pointer; }
.bin-empty-button:active:not(:disabled) { transform: translate(1px, 1px); box-shadow: inset 1px 1px 0 #8fa9b5; }
.bin-empty-button:disabled { opacity: .5; cursor: default; }
.bin-empty-state { min-height: 120px; }
.image-viewer-window { width: min(420px, calc(100% - 26px)); height: min(360px, calc(100% - 26px)); min-width: 300px; min-height: 230px; }
.image-viewer-info { color: #3e555c; }
.image-viewer-body { position: relative; display: grid; min-height: 0; place-items: center; padding: 14px; overflow: hidden; background: #1e292b; color: #dce8e9; font-size: 12px; }
.image-viewer-preview { position: relative; z-index: 1; display: block; max-width: 100%; max-height: 100%; object-fit: contain; filter: grayscale(.46) contrast(1.15) sepia(.16) hue-rotate(140deg) saturate(.7) brightness(.94); image-rendering: auto; }
.image-viewer-body::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .3; background: repeating-linear-gradient(0deg, rgba(232,241,242,.12) 0 1px, transparent 1px 3px), linear-gradient(90deg, rgba(205,226,235,.11), transparent 45%, rgba(37,69,82,.14)); mix-blend-mode: screen; }
.desktop-import-prompt { position: absolute; z-index: 80; left: 50%; top: 50%; display: grid; width: min(220px, calc(100% - 36px)); place-items: center; gap: 2px; padding: 14px 16px 12px; border: 2px solid #171b20; box-shadow: 4px 5px 0 rgba(21, 30, 32, .28), inset 1px 1px 0 #fff; background: rgba(241, 245, 242, .95); color: #171b20; font-family: "Courier New", monospace; font-size: 17px; font-weight: 700; letter-spacing: .04em; opacity: 0; pointer-events: none; transform: translate(-50%, -46%) scale(.94); transition: opacity 110ms linear, transform 140ms ease-out; }
.desktop-import-prompt::before { content: ""; position: absolute; inset: 5px; border: 1px dashed #5f7a83; opacity: .78; }
.desktop-import-prompt.is-visible { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.desktop-import-prompt span, .desktop-import-prompt small { position: relative; z-index: 1; }
.desktop-import-arrow { width: 31px; height: 31px; display: grid; place-items: center; border: 2px solid #171b20; background: #c7dce4; box-shadow: inset 1px 1px 0 #f8ffff; font-size: 27px; line-height: 1; animation: import-arrow-bob 700ms steps(2, end) infinite; }
.desktop-import-prompt small { color: #405b64; font-size: 10px; font-weight: 700; letter-spacing: .02em; }
@keyframes import-arrow-bob { 50% { transform: translateY(3px); } }
.window-bottom { flex: 0 0 17px; border-top: 2px solid #171b20; background: #f1f1ed; position: relative; }
.window-resize-handle { position: absolute; right: 2px; bottom: 1px; width: 18px; height: 12px; border-left: 1px solid #757d79; background: transparent; cursor: nwse-resize; touch-action: none; }
.window-resize-handle::after { content: ""; position: absolute; right: 3px; bottom: 1px; width: 11px; height: 11px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 11 11' shape-rendering='crispEdges'%3E%3Cpath d='M1.5 10.5 10.5 1.5M5 10.5 10.5 5M8.5 10.5 10.5 8.5' fill='none' stroke='%232c3638' stroke-width='1' stroke-linecap='square'/%3E%3C/svg%3E") no-repeat; }

.status-bar { position: relative; z-index: 1000; height: 33px; padding: 0 23px; border-top: 2px solid #171b20; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; color: #e7ece8; background: #222a2b; font-size: 11px; font-weight: 700; letter-spacing: .045em; }
.status-bar #status-message { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: opacity .26s ease; }
.status-bar #status-message.is-fading { opacity: 0; }
.version { white-space: nowrap; color: #cce1df; }

@media (max-width: 760px), (pointer: coarse) {
  .index-boot-screen { padding: 15px; }
  .index-boot-body { gap: 14px; padding: 24px 20px 22px; }
  .index-boot-wordmark strong { font-size: 34px; }
  .index-boot-wordmark span { font-size: 10px; }
  .desktop.is-arranging::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background-image: linear-gradient(rgba(235,243,244,.38) 1px, transparent 1px), linear-gradient(90deg, rgba(235,243,244,.38) 1px, transparent 1px); background-size: 112px 100px; background-position: 12px 10px; box-shadow: inset 0 0 0 1px rgba(22,30,31,.16); }
  .menu-bar { padding: 0 13px; height: 37px; }
  .menu-left { gap: 10px; }
  .mark { width: 24px; height: 24px; }
  .menu-right { display: none; }
  .mobile-find-button { display: inline-flex; align-items: center; gap: 4px; height: 25px; padding: 0 7px; border: 1px solid #667274; background: #eef3f1; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #bdc9c6; color: #243338; font: 800 10px "Courier New", Courier, monospace; letter-spacing: .05em; text-transform: uppercase; }
  .mobile-find-button svg { width: 12px; height: 12px; }
  .mobile-find-button:active { transform: translate(1px, 1px); box-shadow: inset 1px 1px 0 #bdc9c6; }
  .desktop { height: calc(100dvh - 89px); }
  .desktop-folders { inset: 0; }
  .desktop-icon { width: 108px; height: 87px; }
  .desktop-context-menu { min-width: min(184px, calc(100vw - 16px)); max-width: calc(100vw - 16px); font-size: 14px; }
  .desktop-menu-item { min-height: 40px; padding: 8px 11px; font-size: 14px; }
  .desktop-context-submenu { position: static; width: 100%; min-width: 0; margin-top: 3px; box-sizing: border-box; box-shadow: inset 1px 1px 0 #fff; }
  .desktop-menu-parent.is-open .desktop-menu-arrow { transform: rotate(90deg); }
  .finder-window { min-width: 0; min-height: 0; width: calc(100% - 20px) !important; height: min(470px, calc(100% - 26px)) !important; left: 10px !important; top: 13px !important; }
  .finder-window.properties-window { height: auto !important; max-height: min(340px, calc(100% - 26px)); }
  .finder-window.image-viewer-window { height: min(360px, calc(100% - 26px)) !important; }
  .finder-window.find-window { height: min(440px, calc(100% - 26px)) !important; }
  .finder-window.video-player-window { height: min(470px, calc(100% - 26px)) !important; }
  .window-resize-handle { display: none; }
  .window-body { padding: 13px 12px 20px; }
  .editor-body { padding: 0; }
  .mail-icon { right: auto; bottom: auto; }
  .ltools-window { height: min(420px, calc(100% - 26px)) !important; }
  .finder-window.lquiz-window { height: min(540px, calc(100% - 26px)) !important; }
  .finder-window.lrally-window { height: min(540px, calc(100% - 26px)) !important; }
  .finder-window.near-airport-window { height: min(560px, calc(100% - 26px)) !important; }
  .lrally-controls { min-height: 45px; }
  .near-airport-controls { min-height: 45px; }
  .lquiz-menu .lquiz-splash { min-height: 0; }
  .lquiz-title-controls { padding: 10px 10px 14px; }
  .lquiz-menu .lquiz-region-logo { width: clamp(62px, 21%, 90px); height: 48px; padding: 4px 6px; }
  .lquiz-menu .lquiz-region-mark { inset: 4px 6px; width: calc(100% - 12px); height: calc(100% - 8px); }
  .lquiz-question { min-height: 0; font-size: 20px; }
  .lquiz-game { min-height: auto; gap: 9px; padding: 15px; }
  .lquiz-choices { grid-template-columns: 1fr; }
  .lquiz-choice { min-height: 50px; font-size: 13px; }
  .lquiz-choices.is-revealed { gap: 4px; }
  .lquiz-choices.is-revealed .lquiz-choice { min-height: 37px; padding: 6px 8px 6px 32px; font-size: 12px; }
  .lquiz-choices.is-revealed .lquiz-choice-key { top: 6px; left: 7px; }
  .lquiz-feedback { gap: 4px; padding: 9px; }
  .lquiz-feedback strong { font-size: 14px; }
  .lquiz-feedback p { font-size: 11px; line-height: 1.3; }
  .lquiz-feedback .lquiz-control { min-width: 145px; min-height: 34px; }
  .lquiz-results, .lquiz-score-panel { padding: 15px; }
  .lquiz-results-controls { grid-template-columns: 1fr; }
  .mail-window { height: min(500px, calc(100% - 26px)) !important; }
  .video-player-body { gap: 8px; padding: 9px; }
  .video-player-window .window-bottom { flex-basis: 34px; }
  .video-series-nav { gap: 5px; }
  .video-series-label { display: none; }
  .video-series-button { min-height: 23px; padding: 3px 7px; }
  .video-player-controls { grid-template-columns: auto auto auto minmax(0, 1fr) auto; gap: 5px; }
  .video-player-time, .video-player-quality { display: none; }
  .video-player-volume { display: none; }
  .video-player-controls .video-player-control:last-child { grid-column: 1 / -1; }
  .mail-body { padding: 12px; }
  .mail-field, .mail-compose { grid-template-columns: 50px minmax(0, 1fr); gap: 6px; }
  .mail-from-field { grid-template-columns: 50px minmax(0, 1fr); }
  .mail-from-field input:first-of-type, .mail-from-field input:last-of-type { grid-column: 2; }
  .mail-controls { padding-left: 56px; }
  .mail-field input, .mail-compose textarea { font-size: 16px; }
  .find-input, .text-editor-area, .text-file-dialog-form input { font-size: 16px; }
  .settings-body { padding: 13px 12px; }
  .wallpaper-grid { grid-template-columns: 1fr; }
  .item-grid { grid-template-columns: repeat(auto-fill, minmax(87px, 1fr)); gap: 7px; }
  .status-bar { height: 52px; padding: 5px 12px; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; align-items: center; gap: 1px; }
  .status-bar #status-message { overflow: visible; text-overflow: clip; white-space: normal; line-height: 1.25; }
  .version { justify-self: start; line-height: 1.15; }
}

/* Safari can report a desktop viewport while still exposing touch input. */
:root[data-touch-device="true"] .finder-window { min-width: 0; min-height: 0; width: calc(100% - 20px) !important; height: min(470px, calc(100% - 26px)) !important; left: 10px !important; top: 13px !important; }
:root[data-touch-device="true"] .desktop-context-menu { min-width: min(184px, calc(100vw - 16px)); max-width: calc(100vw - 16px); font-size: 14px; }
:root[data-touch-device="true"] .menu-left { gap: 10px; }
:root[data-touch-device="true"] .mobile-find-button { display: inline-flex; align-items: center; gap: 4px; height: 25px; padding: 0 7px; border: 1px solid #667274; background: #eef3f1; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #bdc9c6; color: #243338; font: 800 10px "Courier New", Courier, monospace; letter-spacing: .05em; text-transform: uppercase; }
:root[data-touch-device="true"] .mobile-find-button svg { width: 12px; height: 12px; }
:root[data-touch-device="true"] .mobile-find-button:active { transform: translate(1px, 1px); box-shadow: inset 1px 1px 0 #bdc9c6; }
:root[data-touch-device="true"] .desktop-menu-item { min-height: 40px; padding: 8px 11px; font-size: 14px; }
:root[data-touch-device="true"] .desktop-context-submenu { position: static; width: 100%; min-width: 0; margin-top: 3px; box-sizing: border-box; box-shadow: inset 1px 1px 0 #fff; }
:root[data-touch-device="true"] .desktop-menu-parent.is-open .desktop-menu-arrow { transform: rotate(90deg); }
:root[data-touch-device="true"] .finder-window.properties-window { height: auto !important; max-height: min(340px, calc(100% - 26px)); }
:root[data-touch-device="true"] .finder-window.image-viewer-window { height: min(360px, calc(100% - 26px)) !important; }
:root[data-touch-device="true"] .finder-window.find-window { height: min(440px, calc(100% - 26px)) !important; }
:root[data-touch-device="true"] .finder-window.video-player-window { height: min(470px, calc(100% - 26px)) !important; }
:root[data-touch-device="true"] .window-resize-handle { display: none; }
:root[data-touch-device="true"] .mail-icon { right: auto; bottom: auto; }
:root[data-touch-device="true"] .video-player-body { gap: 8px; padding: 9px; }
:root[data-touch-device="true"] .video-player-window .window-bottom { flex-basis: 34px; }
:root[data-touch-device="true"] .video-series-nav { gap: 5px; }
:root[data-touch-device="true"] .video-series-label { display: none; }
:root[data-touch-device="true"] .video-series-button { min-height: 23px; padding: 3px 7px; }
:root[data-touch-device="true"] .video-player-controls { grid-template-columns: auto auto auto minmax(0, 1fr) auto; gap: 5px; }
:root[data-touch-device="true"] .video-player-time, :root[data-touch-device="true"] .video-player-volume, :root[data-touch-device="true"] .video-player-quality { display: none; }
:root[data-touch-device="true"] .video-player-controls .video-player-control:last-child { grid-column: 1 / -1; }
:root[data-touch-device="true"] .ltools-window { height: min(420px, calc(100% - 26px)) !important; }
:root[data-touch-device="true"] .finder-window.lquiz-window { height: min(540px, calc(100% - 26px)) !important; }
:root[data-touch-device="true"] .finder-window.lrally-window { height: min(540px, calc(100% - 26px)) !important; }
:root[data-touch-device="true"] .finder-window.near-airport-window { height: min(560px, calc(100% - 26px)) !important; }
:root[data-touch-device="true"] .lrally-controls { min-height: 45px; }
:root[data-touch-device="true"] .near-airport-controls { min-height: 45px; }
:root[data-touch-device="true"] .lquiz-menu .lquiz-splash { min-height: 0; }
:root[data-touch-device="true"] .lquiz-title-controls { padding: 10px 10px 14px; }
:root[data-touch-device="true"] .lquiz-menu .lquiz-region-logo { width: clamp(62px, 21%, 90px); height: 48px; padding: 4px 6px; }
:root[data-touch-device="true"] .lquiz-menu .lquiz-region-mark { inset: 4px 6px; width: calc(100% - 12px); height: calc(100% - 8px); }
:root[data-touch-device="true"] .lquiz-question { min-height: 0; font-size: 20px; }
:root[data-touch-device="true"] .lquiz-game { min-height: auto; gap: 9px; padding: 15px; }
:root[data-touch-device="true"] .lquiz-choices { grid-template-columns: 1fr; }
:root[data-touch-device="true"] .lquiz-choice { min-height: 50px; font-size: 13px; }
:root[data-touch-device="true"] .lquiz-choices.is-revealed { gap: 4px; }
:root[data-touch-device="true"] .lquiz-choices.is-revealed .lquiz-choice { min-height: 37px; padding: 6px 8px 6px 32px; font-size: 12px; }
:root[data-touch-device="true"] .lquiz-choices.is-revealed .lquiz-choice-key { top: 6px; left: 7px; }
:root[data-touch-device="true"] .lquiz-feedback { gap: 4px; padding: 9px; }
:root[data-touch-device="true"] .lquiz-feedback strong { font-size: 14px; }
:root[data-touch-device="true"] .lquiz-feedback p { font-size: 11px; line-height: 1.3; }
:root[data-touch-device="true"] .lquiz-feedback .lquiz-control { min-width: 145px; min-height: 34px; }
:root[data-touch-device="true"] .lquiz-results, :root[data-touch-device="true"] .lquiz-score-panel { padding: 15px; }
:root[data-touch-device="true"] .lquiz-results-controls { grid-template-columns: 1fr; }
:root[data-touch-device="true"] .mail-window { height: min(500px, calc(100% - 26px)) !important; }
:root[data-touch-device="true"] .mail-body { padding: 12px; }
:root[data-touch-device="true"] .mail-field,
:root[data-touch-device="true"] .mail-compose { grid-template-columns: 50px minmax(0, 1fr); gap: 6px; }
:root[data-touch-device="true"] .mail-from-field { grid-template-columns: 50px minmax(0, 1fr); }
:root[data-touch-device="true"] .mail-from-field input:first-of-type,
:root[data-touch-device="true"] .mail-from-field input:last-of-type { grid-column: 2; }
:root[data-touch-device="true"] .mail-controls { padding-left: 56px; }
:root[data-touch-device="true"] .mail-field input,
:root[data-touch-device="true"] .mail-compose textarea { font-size: 16px; }
:root[data-touch-device="true"] .find-input,
:root[data-touch-device="true"] .text-editor-area,
:root[data-touch-device="true"] .text-file-dialog-form input { font-size: 16px; }
:root[data-touch-device="true"] .status-bar { height: 52px; padding: 5px 12px; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; align-items: center; gap: 1px; }
:root[data-touch-device="true"] .status-bar #status-message { overflow: visible; text-overflow: clip; white-space: normal; line-height: 1.25; }
:root[data-touch-device="true"] .version { justify-self: start; line-height: 1.15; }

@media (max-width: 430px) {
  .desktop-folders { inset: 0; }
  .desktop-icon { width: 108px; height: 87px; padding: 1px 4px; }
  .desktop-icon .icon-art { width: 52px; height: 46px; }
  .window-info { font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
