html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

body {
  font-family: Tahoma, Arial, sans-serif;
  color: #000;
  background: #008080;
}

body.home {
  overflow: hidden;
  height: 100dvh;
}

a {
  color: #000080;
}

.desktop {
  position: relative;
  width: 100%;
  height: 100dvh;
  min-height: 100dvh;
  overflow: hidden;
  background:
    linear-gradient(rgba(255,255,255,0.02), rgba(255,255,255,0.02)),
    #008080;
}

.desktop-icons {
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 112px;
  padding: 18px 12px 68px;
}

.desktop-icon {
  appearance: none;
  border: none;
  background: transparent;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  padding: 6px 4px;
  font: inherit;
  min-height: 74px;
  text-align: center;
}

.desktop-icon:hover,
.desktop-icon:focus-visible {
  outline: 1px dotted #fff;
  background: rgba(0, 0, 128, 0.22);
}

.icon-image {
  font-size: 30px;
  line-height: 1;
}

.icon-label {
  font-size: 13px;
  line-height: 1.2;
  text-shadow: 1px 1px 0 rgba(0,0,0,0.4);
}

.windows-layer {
  position: absolute;
  inset: 0 0 42px 0;
  pointer-events: none;
  z-index: 10;
}

.win95-window {
  position: absolute;
  display: none;
  pointer-events: auto;
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #404040;
  border-bottom: 2px solid #404040;
  box-shadow: 1px 1px 0 #000;
  min-width: 320px;
  min-height: 220px;
  max-width: min(920px, calc(100vw - 20px));
  max-height: calc(100dvh - 52px);
  overflow: hidden;
}

.win95-window.active {
  display: flex;
  flex-direction: column;
}

.win95-window.focused .title-bar {
  background: linear-gradient(90deg, #000080, #1084d0);
}

.win95-window:not(.focused) .title-bar {
  background: linear-gradient(90deg, #7b7b7b, #a9a9a9);
}

.win95-window.maximized {
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: calc(100dvh - 42px) !important;
  max-width: 100% !important;
  max-height: calc(100dvh - 42px) !important;
}

.title-bar {
  height: 28px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4px 0 8px;
  cursor: move;
  user-select: none;
  flex: 0 0 28px;
}

.title-bar-text {
  font-size: 13px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 8px;
}

.title-bar-controls {
  display: flex;
  gap: 2px;
  flex-shrink: 0;
}

.title-bar-controls button,
.start-button,
.taskbar-button,
.start-item {
  font: inherit;
  font-size: 12px;
  background: #c0c0c0;
  color: #000;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #404040;
  border-bottom: 2px solid #404040;
  border-radius: 0;
  appearance: none;
  cursor: pointer;
}

.title-bar-controls button:active,
.start-button:active,
.taskbar-button:active,
.start-item:active {
  border-top: 2px solid #404040;
  border-left: 2px solid #404040;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
}

.title-bar-controls button {
  width: 24px;
  height: 22px;
  padding: 0;
  line-height: 1;
}

.window-body {
  padding: 12px 12px 36px;
  background: #c0c0c0;
  color: #000;
  overflow-y: auto;
  overflow-x: hidden;
  flex: 1 1 auto;
  min-height: 0;
  height: 0;
  -webkit-overflow-scrolling: touch;
}

.window-article {
  min-height: min-content;
}

.window-article > *:last-child {
  margin-bottom: 0;
}

.window-body img,
.window-body iframe,
.window-body video,
.window-body embed,
.window-body object {
  max-width: 100%;
  height: auto;
}

.win95-window.maximized .window-body {
  height: auto;
}

.window-article-title {
  margin: 0 0 12px;
  font-size: 30px;
  line-height: 1.08;
}

.post-list {
  margin: 0;
  padding-left: 18px;
}

.post-list li + li {
  margin-top: 8px;
}

.post-link-button {
  font: inherit;
  font-size: 16px;
  color: #000080;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  text-align: left;
  text-decoration: underline;
  cursor: pointer;
}

.loading-text {
  margin: 0;
  font-style: italic;
}

.taskbar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 42px;
  padding: 4px 6px;
  display: flex;
  align-items: center;
  gap: 8px;
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  z-index: 5000;
}

.start-button {
  min-width: 82px;
  height: 32px;
  padding: 0 12px;
  font-weight: 700;
  flex-shrink: 0;
}

.taskbar-windows {
  display: flex;
  flex: 1;
  gap: 6px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  min-width: 0;
}

.taskbar-windows::-webkit-scrollbar {
  display: none;
}

.taskbar-button {
  min-width: 140px;
  max-width: 220px;
  height: 32px;
  padding: 0 10px;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex-shrink: 0;
}

.taskbar-button.is-active {
  box-shadow: inset 1px 1px 0 #404040;
  border-top: 2px solid #7b7b7b;
  border-left: 2px solid #7b7b7b;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
}

.taskbar-clock {
  min-width: 150px;
  height: 30px;
  padding: 0 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #c0c0c0;
  border-top: 2px solid #7b7b7b;
  border-left: 2px solid #7b7b7b;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  white-space: nowrap;
  font-size: 12px;
  flex-shrink: 0;
  cursor: pointer;
}

.start-menu {
  display: none;
  position: absolute;
  left: 0;
  bottom: 42px;
  width: 250px;
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #404040;
  border-bottom: 2px solid #404040;
  box-shadow: 2px 2px 0 #000;
  z-index: 6000;
}

.start-menu.open {
  display: flex;
}

.start-menu-sidebar {
  width: 36px;
  background: linear-gradient(180deg, #2b2b2b, #6b6b6b);
  color: #fff;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-align: center;
  font-weight: 700;
  padding: 10px 0;
  flex-shrink: 0;
}

.start-menu-items {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 6px;
  width: 100%;
}

.start-menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.start-menu-list li {
  margin: 0;
  padding: 0;
}

.start-menu .menu-item a,
.start-item {
  width: 100%;
  display: block;
  text-align: left;
  padding: 8px 10px;
  text-decoration: none;
  color: #000;
  background: #c0c0c0;
}

.start-item:hover,
.start-menu .menu-item a:hover {
  background: #000080;
  color: #fff;
}

#clock-popup {
  position: fixed;
  display: none;
  width: 230px;
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #404040;
  border-bottom: 2px solid #404040;
  box-shadow: 2px 2px 0 #000;
  z-index: 9999;
}

#clock-popup.open {
  display: block;
}

.clock-popup-inner {
  padding: 12px;
  text-align: center;
}

.clock-time {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 8px;
}

.clock-date {
  font-size: 13px;
  line-height: 1.35;
}

.content-page-fallback {
  max-width: 860px;
  margin: 40px auto;
  background: #fff;
  padding: 24px;
  border: 2px solid #404040;
}

.fallback-title {
  margin-top: 0;
  line-height: 1.1;
}

.fallback-meta {
  color: #555;
  margin-bottom: 16px;
  font-size: 14px;
}

.admin-bar .desktop {
  height: calc(100dvh - 32px);
  min-height: calc(100dvh - 32px);
}

@media (max-width: 900px) {
  .desktop-icons {
    width: 96px;
    gap: 12px;
    padding-inline: 10px;
  }

  .win95-window {
    width: calc(100vw - 20px) !important;
    left: 10px !important;
    max-width: calc(100vw - 20px) !important;
  }
}

@media (max-width: 782px) {
  .admin-bar .desktop {
    height: calc(100dvh - 46px);
    min-height: calc(100dvh - 46px);
  }
}

@media (max-width: 640px) {
  .taskbar {
    gap: 5px;
  }

  .start-button {
    min-width: 64px;
    padding: 0 8px;
  }

  .taskbar-button {
    min-width: 108px;
    max-width: 160px;
  }

  .taskbar-clock {
    min-width: 128px;
    font-size: 11px;
  }

  .window-article-title {
    font-size: 24px;
  }

  #clock-popup {
    width: 200px;
  }
}


/* v2.4 YouTube + Clockify widgets */
.youtube-window-body { padding: 8px 8px 32px; }
.youtube-player-wrap { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; border: 2px inset #fff; }
.youtube-player-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.youtube-status { margin-top: 8px; padding: 6px 8px; background: #fff; border: 2px inset #fff; }
.live-dot { color: #b00000; }
.widget-empty { background: #fff; border: 2px inset #fff; padding: 18px; }
.clockify-window-body { padding: 10px 10px 32px; }
.clockify-state { display: flex; gap: 8px; align-items: center; padding: 8px; margin-bottom: 10px; background: #fff; border: 2px inset #fff; }
.clockify-dot { color: #777; }
.clockify-widget.is-running .clockify-dot { color: #087c19; }
.clockify-details { margin: 0; }
.clockify-details > div { display: grid; grid-template-columns: 82px 1fr; gap: 8px; margin: 7px 0; }
.clockify-details dt { font-weight: bold; }
.clockify-details dd { margin: 0; overflow-wrap: anywhere; }
.clockify-elapsed { font-family: "Courier New", monospace; font-size: 17px; font-weight: bold; }
.clockify-message { margin: 10px 0 0; padding: 7px; background: #fff; border: 2px inset #fff; }
@media (max-width: 700px) {
  #window-youtube, #window-clockify { right: auto !important; left: 10px !important; }
  #window-youtube { height: 360px !important; }
}


/* v2.5 Leave a Note guestbook */
.note-window-body {
  padding: 10px 10px 32px;
}

.desktop-note-form {
  display: grid;
  gap: 7px;
}

.note-intro {
  margin: 0 0 4px;
}

.desktop-note-form label {
  font-weight: bold;
}

.desktop-note-form input[type="text"],
.desktop-note-form textarea {
  width: 100%;
  padding: 6px;
  font: inherit;
  background: #fff;
  color: #000;
  border-top: 2px solid #404040;
  border-left: 2px solid #404040;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  resize: vertical;
}

.note-form-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

#desktop-note-count {
  font-size: 12px;
}

.win95-form-button {
  min-width: 105px;
  min-height: 29px;
  padding: 4px 10px;
  font: inherit;
  background: #c0c0c0;
  color: #000;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  border-right: 2px solid #404040;
  border-bottom: 2px solid #404040;
}

.win95-form-button:active {
  border-top-color: #404040;
  border-left-color: #404040;
  border-right-color: #fff;
  border-bottom-color: #fff;
}

.win95-form-button:disabled {
  color: #777;
}

.note-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.desktop-note-status {
  min-height: 18px;
  margin: 2px 0 0;
}

.desktop-note-status.is-success {
  color: #075f16;
  font-weight: bold;
}

.desktop-note-status.is-error {
  color: #8b0000;
  font-weight: bold;
}

.recent-notes {
  margin-top: 13px;
  padding-top: 9px;
  border-top: 1px solid #808080;
}

.recent-notes h2 {
  margin: 0 0 8px;
  font-size: 15px;
}

.desktop-note-entry {
  margin-bottom: 8px;
  padding: 7px;
  background: #fff;
  border-top: 2px solid #404040;
  border-left: 2px solid #404040;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.desktop-note-entry p {
  margin: 5px 0 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.desktop-note-meta {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
}

@media (max-width: 700px) {
  #window-note {
    left: 10px !important;
    top: 80px !important;
    height: min(470px, calc(100dvh - 140px)) !important;
  }
}


/* v2.6 Clockify recent entries */
.clockify-recent { margin-top: 12px; padding-top: 9px; border-top: 1px solid #808080; }
.clockify-recent h2 { margin: 0 0 7px; font-size: 14px; }
.clockify-recent-entry { position: relative; margin: 0 0 7px; padding: 6px 68px 6px 7px; min-height: 40px; background: #fff; border: 2px inset #fff; }
.clockify-recent-entry p { margin: 3px 0 0; overflow-wrap: anywhere; }
.clockify-recent-heading { display: flex; gap: 8px; justify-content: space-between; }
.clockify-recent-heading span { white-space: nowrap; font-size: 12px; }
.clockify-recent-duration { position: absolute; right: 7px; bottom: 7px; font-family: "Courier New", monospace; font-weight: bold; }


/* v2.6.2 Clockify positioning and drag fix */
#window-clockify { top: 12px; }
#window-clockify .title-bar { touch-action: none; }


/* v2.7 Publisher */
.publisher-window-body {
  padding: 8px 8px 32px;
  overflow: auto;
}

.publisher-toolbar {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #808080;
}

.publisher-refresh {
  min-width: 72px;
}

.publisher-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.publisher-filter {
  padding: 4px 8px;
  font: inherit;
  background: #c0c0c0;
  color: #000;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  border-right: 2px solid #404040;
  border-bottom: 2px solid #404040;
}

.publisher-filter.is-active,
.publisher-filter:active {
  background: #dfdfdf;
  border-top-color: #404040;
  border-left-color: #404040;
  border-right-color: #fff;
  border-bottom-color: #fff;
}

.publisher-status {
  margin: 8px 0;
  padding: 4px 6px;
  background: #fff;
  border-top: 2px solid #404040;
  border-left: 2px solid #404040;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.publisher-list {
  display: grid;
  gap: 7px;
}

.publisher-entry {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 8px;
  padding: 8px;
  background: #fff;
  color: #000;
  border-top: 2px solid #404040;
  border-left: 2px solid #404040;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.publisher-entry-icon {
  font-size: 23px;
  line-height: 1.2;
}

.publisher-entry h2 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0;
  font-size: 15px;
}

.publisher-entry h2 a {
  color: #000080;
}

.publisher-meta {
  margin-top: 3px;
  font-size: 12px;
  color: #404040;
}

.publisher-entry p {
  margin: 5px 0 0;
  line-height: 1.35;
}

.publisher-featured {
  padding: 1px 4px;
  font-size: 11px;
  font-weight: normal;
  color: #fff;
  background: #000080;
}

.publisher-empty {
  padding: 18px 10px;
  text-align: center;
  background: #fff;
  border-top: 2px solid #404040;
  border-left: 2px solid #404040;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

@media (max-width: 700px) {
  #window-publisher {
    top: 48px !important;
    left: 8px !important;
    width: calc(100vw - 16px) !important;
    height: min(560px, calc(100dvh - 112px)) !important;
  }

  .publisher-toolbar {
    display: block;
  }

  .publisher-filters {
    margin-top: 7px;
  }
}


/* v2.8 Publisher classic Windows 95 interface */
.publisher-app{min-width:470px}.publisher-app .title-bar-text{display:flex;align-items:center;gap:4px}
.publisher-menubar{position:relative;display:flex;padding:1px 3px;background:#c0c0c0;border-bottom:1px solid #808080}
.publisher-menu-button{min-width:42px;padding:3px 7px;font:inherit;text-align:left;background:transparent;border:1px solid transparent}
.publisher-menu-button:hover,.publisher-menu-button.is-open{border-top-color:#fff;border-left-color:#fff;border-right-color:#404040;border-bottom-color:#404040}
.publisher-menu{position:absolute;z-index:10000;top:25px;min-width:170px;padding:2px;background:#c0c0c0;border:2px outset #fff;box-shadow:1px 1px 0 #404040}
.publisher-menu[hidden]{display:none}.publisher-menu-file{left:3px}.publisher-menu-view{left:47px}.publisher-menu-help{left:94px}
.publisher-menu button{display:flex;justify-content:space-between;width:100%;padding:5px 22px;font:inherit;text-align:left;background:transparent;border:0}
.publisher-menu button:hover,.publisher-menu button:focus{color:#fff;background:#000080;outline:0}
.publisher-menu-separator{margin:2px;border-top:1px solid #808080;border-bottom:1px solid #fff}
.publisher-classic-toolbar{display:flex;align-items:center;gap:3px;min-height:40px;padding:3px 5px;background:#c0c0c0;border-top:1px solid #fff;border-bottom:1px solid #808080}
.publisher-tool{display:flex;flex-direction:column;align-items:center;min-width:48px;padding:2px 5px;font:inherit;font-size:11px;background:#c0c0c0;border:1px solid transparent}
.publisher-tool span:first-child{font-size:18px;line-height:18px}.publisher-tool:hover:not(:disabled){border:1px outset #fff}.publisher-tool:active:not(:disabled){border:1px inset #fff}
.publisher-tool:disabled{filter:grayscale(1);opacity:.55}.publisher-toolbar-divider{align-self:stretch;width:2px;margin:2px 4px;border-left:1px solid #808080;border-right:1px solid #fff}
.publisher-type-filter{min-width:125px;height:24px;font:inherit;background:#fff;border:2px inset #fff}
.publisher-window-body{display:flex;flex-direction:column;height:calc(100% - 105px);padding:5px;overflow:hidden}
.publisher-location-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px;margin-bottom:5px}.publisher-location-box{padding:3px 5px;background:#fff;border:2px inset #fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.publisher-status-message{margin:0 0 4px;padding:3px 5px;background:#ffffe1;border:1px solid #808080}.publisher-status-message[hidden]{display:none}
.publisher-file-area{flex:1 1 auto;min-height:125px;overflow:auto;background:#fff;border:2px inset #fff}
.publisher-column-headings,.publisher-file-row{display:grid;grid-template-columns:minmax(190px,2.2fr) minmax(85px,1fr) minmax(90px,1.1fr) minmax(95px,1fr);align-items:center}
.publisher-column-headings{position:sticky;z-index:2;top:0;min-width:500px;background:#c0c0c0}.publisher-column-headings span{padding:3px 5px;border:1px outset #fff}
.publisher-list{display:block;min-width:500px}.publisher-file-row{min-height:24px;padding:1px 0;cursor:default;user-select:none}.publisher-file-row:focus{outline:1px dotted #000;outline-offset:-2px}
.publisher-file-row.is-selected{color:#fff;background:#000080}.publisher-file-row>span{min-width:0;padding:2px 5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.publisher-file-name{display:flex;align-items:center;gap:5px}.publisher-file-icon{flex:0 0 auto;width:22px;font-size:17px;text-align:center}.publisher-file-title{overflow:hidden;text-overflow:ellipsis}.publisher-pin{flex:0 0 auto;font-size:11px}
.publisher-details-pane{display:grid;grid-template-columns:42px 1fr;gap:8px;min-height:65px;margin-top:5px;padding:7px;overflow:auto;background:#fff;border:2px inset #fff}
.publisher-details-icon{font-size:30px;text-align:center}.publisher-details-pane p{margin:4px 0 0;line-height:1.3}
.publisher-statusbar{display:grid;grid-template-columns:1fr auto;gap:3px;padding:2px 3px 3px;background:#c0c0c0}.publisher-statusbar span{padding:2px 5px;border:1px inset #fff}
.publisher-compact-view .publisher-column-headings{display:none}.publisher-compact-view .publisher-list{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));min-width:0;padding:4px}
.publisher-compact-view .publisher-file-row{display:block;min-width:0}.publisher-compact-view .publisher-file-row>span:not(.publisher-file-name){display:none}
@media(max-width:700px){.publisher-app{min-width:0}.publisher-classic-toolbar{overflow-x:auto}.publisher-location-label,.publisher-filter-label{display:none}.publisher-location-row{grid-template-columns:1fr}.publisher-window-body{height:calc(100% - 107px)}}


/* v2.9 Built-in Windows 95 Browser */
.publisher-details-content{min-width:0}
.publisher-details-title{display:block;max-width:100%;padding:0;color:#000080;font:inherit;font-weight:bold;text-align:left;text-decoration:underline;background:transparent;border:0;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.publisher-details-title:disabled{color:#000;text-decoration:none;cursor:default}
.publisher-details-actions{display:flex;align-items:center;gap:10px;margin-top:7px}
.publisher-open-tab{color:#000080;text-decoration:underline}.publisher-open-tab[hidden]{display:none}

.browser-app{min-width:510px}
.browser-menubar{display:flex;gap:1px;padding:1px 4px;background:#c0c0c0;border-bottom:1px solid #808080}
.browser-menu-label{padding:3px 7px;font:inherit;background:transparent;border:1px solid transparent}
.browser-menu-label:hover{border:1px outset #fff}
.browser-toolbar{display:flex;align-items:center;gap:2px;min-height:45px;padding:3px 5px;background:#c0c0c0;border-top:1px solid #fff;border-bottom:1px solid #808080;overflow-x:auto}
.browser-tool{display:flex;flex-direction:column;align-items:center;min-width:49px;padding:2px 5px;font:inherit;font-size:11px;background:#c0c0c0;border:1px solid transparent}
.browser-tool span:first-child{font-size:18px;line-height:19px}
.browser-tool:hover:not(:disabled){border:1px outset #fff}.browser-tool:active:not(:disabled){border:1px inset #fff}
.browser-tool:disabled{filter:grayscale(1);opacity:.48}
.browser-toolbar-divider{align-self:stretch;width:2px;margin:2px 4px;border-left:1px solid #808080;border-right:1px solid #fff}
.browser-address-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:5px;padding:4px 6px;background:#c0c0c0;border-top:1px solid #fff;border-bottom:1px solid #808080}
.browser-address-wrap{display:flex;align-items:center;gap:4px;min-width:0;padding:1px 4px;background:#fff;border:2px inset #fff}
.browser-address-wrap input{width:100%;min-width:80px;padding:2px;font:inherit;background:#fff;border:0;outline:0}
.browser-go{min-width:45px}
.browser-window-body{position:relative;flex:1 1 auto;height:calc(100% - 139px);min-height:130px;padding:3px;overflow:hidden;background:#fff}
.browser-frame{display:block;width:100%;height:100%;background:#fff;border:2px inset #fff}
.browser-frame[hidden]{display:none}
.browser-welcome{box-sizing:border-box;height:100%;padding:45px 25px;text-align:center;background:#fff;border:2px inset #fff;overflow:auto}
.browser-welcome-logo{font-size:72px}.browser-welcome h2{margin:5px 0 10px;font-size:24px}.browser-welcome p{max-width:520px;margin:8px auto;line-height:1.45}
.browser-embed-note{padding:8px;background:#ffffe1;border:1px solid #808080}
.browser-statusbar{display:grid;grid-template-columns:1fr auto;gap:3px;padding:2px 3px 3px;background:#c0c0c0}
.browser-statusbar span{padding:2px 5px;border:1px inset #fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
@media(max-width:700px){.browser-app{min-width:0}.browser-menu-label:nth-child(2),.browser-menu-label:nth-child(4){display:none}.browser-toolbar{min-height:42px}.browser-tool{min-width:43px}.browser-address-row label{display:none}.browser-address-row{grid-template-columns:1fr auto}.browser-window-body{height:calc(100% - 132px)}}

/* v3.0 Project Explorer */
.publisher-project-link{display:block;max-width:100%;padding:1px 2px;color:inherit;font:inherit;text-align:left;background:transparent;border:1px solid transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.publisher-project-link:hover{color:#000080;text-decoration:underline}.publisher-file-row.is-selected .publisher-project-link:hover{color:#fff}
.project-explorer-app{min-width:510px}.project-explorer-menubar{display:flex;padding:1px 4px;background:#c0c0c0;border-bottom:1px solid #808080}
.project-explorer-menubar button{padding:3px 7px;font:inherit;background:transparent;border:1px solid transparent}.project-explorer-menubar button:hover{border:1px outset #fff}
.project-explorer-toolbar{display:flex;align-items:center;min-height:43px;padding:3px 5px;background:#c0c0c0;border-top:1px solid #fff;border-bottom:1px solid #808080}
.project-explorer-tool{display:flex;flex-direction:column;align-items:center;min-width:55px;padding:2px 6px;font:inherit;font-size:11px;background:#c0c0c0;border:1px solid transparent}
.project-explorer-tool span:first-child{font-size:18px;line-height:19px}.project-explorer-tool:hover:not(:disabled){border:1px outset #fff}.project-explorer-tool:disabled{filter:grayscale(1);opacity:.48}
.project-explorer-divider{align-self:stretch;width:2px;margin:2px 5px;border-left:1px solid #808080;border-right:1px solid #fff}
.project-explorer-location{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px;padding:4px 6px;background:#c0c0c0;border-bottom:1px solid #808080}
.project-explorer-location div{padding:3px 5px;background:#fff;border:2px inset #fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-explorer-body{height:calc(100% - 111px);padding:5px;overflow:hidden}.project-explorer-message{margin:0;padding:7px;background:#ffffe1;border:1px solid #808080}
.project-explorer-message[hidden],.project-explorer-content[hidden]{display:none}.project-explorer-content{display:grid;grid-template-columns:190px 1fr;gap:5px;height:100%}
.project-explorer-sidebar,.project-explorer-main{background:#fff;border:2px inset #fff;overflow:auto}.project-explorer-sidebar{padding:12px;text-align:center}
.project-explorer-folder-icon{font-size:58px}.project-explorer-sidebar h2{margin:4px 0 15px;font-size:17px;word-break:break-word}.project-explorer-properties{margin:0;text-align:left}
.project-explorer-properties div{padding:5px 0;border-top:1px solid #ddd}.project-explorer-properties dt{font-weight:bold}.project-explorer-properties dd{margin:2px 0 0;word-break:break-word}
.project-explorer-main{padding:8px}.project-explorer-section{margin-bottom:12px}.project-explorer-section h3{margin:0 0 5px;padding:3px 5px;color:#fff;font-size:13px;background:#000080}
.project-explorer-items{display:grid;gap:2px}.project-explorer-item{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:5px;width:100%;padding:5px;color:#000;font:inherit;text-align:left;background:#fff;border:1px solid transparent}
.project-explorer-item:hover,.project-explorer-item:focus{color:#fff;background:#000080;outline:0}.project-explorer-item-icon{font-size:20px;text-align:center}.project-explorer-item-text{min-width:0}
.project-explorer-item-text strong,.project-explorer-item-text small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-explorer-resources{padding:6px;line-height:1.4;word-break:break-word}
.project-explorer-resources a{color:#000080;text-decoration:underline}.project-explorer-empty{padding:8px;color:#555;font-style:italic}.project-explorer-statusbar{display:grid;grid-template-columns:1fr auto;gap:3px;padding:2px 3px 3px;background:#c0c0c0}
.project-explorer-statusbar span{padding:2px 5px;border:1px inset #fff}
@media(max-width:700px){.project-explorer-app{min-width:0}.project-explorer-content{grid-template-columns:1fr}.project-explorer-sidebar{padding:7px}.project-explorer-folder-icon{font-size:42px}.project-explorer-body{height:calc(100% - 112px)}}
