.discord-link {
  color: #5865F2;
  font-weight: bold;
  text-decoration: underline;
  transition: color 0.2s;
}

.discord-link:hover,
.discord-link:focus {
  color: #3a45a7;
}
* {
  box-sizing: border-box;
}

:root {
  --body-bg: #7cb9ff;
  --body-text: #1c1c1c;
  --desktop-bg: linear-gradient(135deg, #9ccfff 25%, #7cb9ff 25%, #7cb9ff 50%, #9ccfff 50%, #9ccfff 75%, #7cb9ff 75%, #7cb9ff 100%);
  --desktop-grid-size: 32px 32px;
  --menubar-bg: #c3c7cb;
  --menubar-border-width: 2px;
  --menubar-border-color: #9b9e9f;
  --menubar-box-shadow: 0 1px 0 #f5f5f5 inset;
  --menubar-text: #1c1c1c;
  --menubar-center-text: #171717;
  --menubar-right-text: #171717;
  --menu-item-hover-bg: #f5f5f5;
  --menu-item-hover-text: #1c1c1c;
  --theme-toggle-bg: #e3e6ef;
  --theme-toggle-hover-bg: #d4d8e4;
  --theme-toggle-border: #1c1c1c;
  --theme-toggle-text: #1c1c1c;
  --theme-toggle-focus-ring: rgba(15, 79, 191, 0.35);
  --theme-toggle-knob-bg: #ffffff;
  --theme-toggle-knob-active-bg: #1c1c1c;
  --theme-toggle-knob-border: #1c1c1c;
  --memo-editor-bg: #ffffff;
  --memo-editor-border: #1c1c1c;
  --memo-editor-text: #1c1c1c;
  --memo-editor-focus-ring: rgba(15, 79, 191, 0.28);
  --memo-hint-text: #555555;
  --icon-text: #0d0d0d;
  --icon-selected-bg: rgba(255, 255, 255, 0.7);
  --icon-selected-border: #1c1c1c;
  --icon-art-border: #1c1c1c;
  --icon-art-bg: #f7f7f7;
  --icon-line: #1c1c1c;
  --icon-about-color: #1c1c1c;
  --icon-stats-frame: #1c1c1c;
  --icon-stats-face: #ffffff;
  --icon-stats-graph: linear-gradient(to top, rgba(99, 152, 255, 0.75) 0%, rgba(99, 152, 255, 0.2) 55%);
  --icon-avatar-bg: linear-gradient(to bottom, #fdfdfd 0%, #e1e1e1 100%);
  --icon-avatar-face-border: #1c1c1c;
  --icon-avatar-face-bg: #fefefe;
  --icon-avatar-base-border: #1c1c1c;
  --icon-avatar-base-bg: rgba(0, 0, 0, 0.1);
  --avatar-665-bg: linear-gradient(135deg, #fdfdfd 0%, #cddffc 100%);
  --avatar-665-base: rgba(62, 105, 189, 0.22);
  --avatar-sam-bg: linear-gradient(135deg, #fdfdfd 0%, #ffe2c8 100%);
  --avatar-sam-base: rgba(233, 128, 34, 0.26);
  --avatar-healthstone-bg: linear-gradient(135deg, #fdfdfd 0%, #cdebd6 100%);
  --avatar-healthstone-base: rgba(41, 138, 73, 0.24);
  --avatar-razvan-bg: linear-gradient(135deg, #fdfdfd 0%, #d6d4f5 100%);
  --avatar-razvan-base: rgba(83, 64, 175, 0.22);
  --avatar-ry-bg: linear-gradient(135deg, #fdfdfd 0%, #f9cde0 100%);
  --avatar-ry-base: rgba(185, 68, 132, 0.24);
  --window-bg: #fcfcfc;
  --window-border: #1c1c1c;
  --window-border-width: 3px;
  --window-shadow: 6px 6px 0 rgba(0, 0, 0, 0.35);
  --window-text: #1c1c1c;
  --window-titlebar-bg: #dedede;
  --window-titlebar-border-width: 3px;
  --window-titlebar-border: #1c1c1c;
  --window-titlebar-text: #1c1c1c;
  --title-button-border: #1c1c1c;
  --title-button-bg: #fefefe;
  --btn-close-pattern: repeating-linear-gradient(to bottom right, #1c1c1c 0, #1c1c1c 1px, transparent 1px, transparent 3px);
  --btn-minimize-gradient: linear-gradient(to bottom, #fefefe 50%, #1c1c1c 50%);
  --window-status-bg: #dedede;
  --window-status-border-width: 3px;
  --window-status-border: #1c1c1c;
  --window-status-text: #555555;
  --window-dormant-shadow: 4px 4px 0 rgba(0, 0, 0, 0.18);
  --window-drag-shadow: 8px 8px 0 rgba(0, 0, 0, 0.25);
  --finder-divider: 1px dashed #1c1c1c;
  --note-background: repeating-linear-gradient(to bottom, transparent 0, transparent 18px, rgba(0, 0, 0, 0.12) 18px, rgba(0, 0, 0, 0.12) 19px);
  --profile-card-bg: #f6f6f6;
  --profile-card-border: #1c1c1c;
  --profile-avatar-border: #1c1c1c;
  --profile-avatar-pattern: repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.16) 0, rgba(0, 0, 0, 0.16) 4px, transparent 4px, transparent 8px);
  --profile-tag-border: #1c1c1c;
  --profile-tag-bg: #ffffff;
  --profile-link-color: #0f4fbf;
  --ctf-card-bg: #ffffff;
  --ctf-card-border: #1c1c1c;
  --ctf-card-text: #1c1c1c;
  --ctf-card-heading: #1c1c1c;
  --ctf-card-metric: #1c1c1c;
  --ctf-card-hint: #555555;
  --ctf-event-bg: #f6f6f6;
  --ctf-event-border: #1c1c1c;
  --ctf-event-meta: #444444;
  --ctf-link-color: #0f4fbf;
  --ctf-fallback-text: #555555;
  --dropdown-bg: #fcfcfc;
  --dropdown-border-width: 2px;
  --dropdown-border: #1c1c1c;
  --dropdown-shadow: 4px 4px 0 rgba(0, 0, 0, 0.25);
  --dropdown-item-color: #1c1c1c;
  --dropdown-item-hover-bg: #dedede;
  --about-card-bg: linear-gradient(135deg, rgba(36, 43, 70, 0.92), rgba(17, 23, 38, 0.92));
  --about-card-border: #232a42;
  --about-frame-bg: rgba(7, 9, 19, 0.92);
  --about-frame-border: #f9c800;
  --about-caption: #f9c800;
}

body[data-theme="dark"] {
  --body-bg: radial-gradient(130% 130% at 10% 15%, #1f2a3d 0%, #05070e 55%, #03040a 100%);
  --body-text: #e9efff;
  --desktop-bg: linear-gradient(135deg, rgba(38, 58, 91, 0.35) 25%, rgba(10, 16, 28, 0.35) 25%, rgba(10, 16, 28, 0.35) 50%, rgba(38, 58, 91, 0.35) 50%, rgba(38, 58, 91, 0.35) 75%, rgba(10, 16, 28, 0.35) 75%, rgba(10, 16, 28, 0.35) 100%);
  --desktop-grid-size: 40px 40px;
  --menubar-bg: linear-gradient(to bottom, rgba(30, 45, 69, 0.9), rgba(13, 20, 31, 0.95));
  --menubar-border-width: 1px;
  --menubar-border-color: rgba(110, 145, 206, 0.35);
  --menubar-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.12) inset, 0 1px 0 rgba(0, 0, 0, 0.6);
  --menubar-text: #f5f7ff;
  --menubar-center-text: #b7c8ff;
  --menubar-right-text: #d3dbff;
  --menu-item-hover-bg: rgba(92, 125, 188, 0.25);
  --menu-item-hover-text: #ffffff;
  --theme-toggle-bg: rgba(38, 58, 91, 0.9);
  --theme-toggle-hover-bg: rgba(92, 125, 188, 0.3);
  --theme-toggle-border: rgba(189, 210, 255, 0.85);
  --theme-toggle-text: #e5edff;
  --theme-toggle-focus-ring: rgba(146, 191, 255, 0.45);
  --theme-toggle-knob-bg: rgba(211, 222, 255, 0.95);
  --theme-toggle-knob-active-bg: rgba(92, 125, 188, 0.85);
  --theme-toggle-knob-border: rgba(189, 210, 255, 0.85);
  --memo-editor-bg: rgba(13, 22, 37, 0.95);
  --memo-editor-border: rgba(118, 158, 234, 0.55);
  --memo-editor-text: #d9e4ff;
  --memo-editor-focus-ring: rgba(118, 158, 234, 0.32);
  --memo-hint-text: #9db8f9;
  --icon-text: #dde6ff;
  --icon-selected-bg: rgba(78, 115, 210, 0.35);
  --icon-selected-border: rgba(146, 191, 255, 0.9);
  --icon-art-border: rgba(164, 196, 255, 0.8);
  --icon-art-bg: rgba(11, 18, 33, 0.72);
  --icon-line: rgba(182, 207, 255, 0.85);
  --icon-about-color: rgba(211, 222, 255, 0.95);
  --icon-stats-frame: rgba(182, 207, 255, 0.85);
  --icon-stats-face: rgba(22, 33, 53, 0.9);
  --icon-stats-graph: linear-gradient(to top, rgba(99, 152, 255, 0.85) 0%, rgba(99, 152, 255, 0.18) 55%);
  --icon-avatar-bg: linear-gradient(to bottom, rgba(46, 69, 116, 0.85) 0%, rgba(24, 36, 64, 0.85) 100%);
  --icon-avatar-face-border: rgba(182, 207, 255, 0.85);
  --icon-avatar-face-bg: rgba(12, 19, 32, 0.8);
  --icon-avatar-base-border: rgba(182, 207, 255, 0.85);
  --icon-avatar-base-bg: rgba(95, 136, 214, 0.16);
  --avatar-665-bg: linear-gradient(135deg, rgba(64, 99, 173, 0.7) 0%, rgba(33, 50, 91, 0.85) 100%);
  --avatar-665-base: rgba(62, 105, 189, 0.32);
  --avatar-sam-bg: linear-gradient(135deg, rgba(233, 128, 34, 0.35) 0%, rgba(48, 28, 14, 0.85) 100%);
  --avatar-sam-base: rgba(233, 128, 34, 0.32);
  --avatar-healthstone-bg: linear-gradient(135deg, rgba(41, 138, 73, 0.38) 0%, rgba(20, 50, 34, 0.85) 100%);
  --avatar-healthstone-base: rgba(41, 138, 73, 0.32);
  --avatar-razvan-bg: linear-gradient(135deg, rgba(83, 64, 175, 0.45) 0%, rgba(36, 28, 74, 0.9) 100%);
  --avatar-razvan-base: rgba(83, 64, 175, 0.32);
  --avatar-ry-bg: linear-gradient(135deg, rgba(185, 68, 132, 0.4) 0%, rgba(60, 20, 44, 0.88) 100%);
  --avatar-ry-base: rgba(185, 68, 132, 0.32);
  --window-bg: linear-gradient(145deg, rgba(13, 21, 36, 0.98), rgba(9, 14, 25, 0.98));
  --window-border: rgba(124, 162, 233, 0.55);
  --window-border-width: 2px;
  --window-shadow: 12px 12px 0 rgba(10, 13, 23, 0.8), 0 0 0 1px rgba(30, 63, 129, 0.35);
  --window-text: #d9e4ff;
  --window-titlebar-bg: linear-gradient(to bottom, rgba(38, 58, 91, 0.95), rgba(17, 26, 43, 0.95));
  --window-titlebar-border-width: 2px;
  --window-titlebar-border: rgba(96, 134, 206, 0.6);
  --window-titlebar-text: #e5edff;
  --title-button-border: rgba(189, 210, 255, 0.85);
  --title-button-bg: rgba(10, 15, 25, 0.9);
  --btn-close-pattern: repeating-linear-gradient(to bottom right, rgba(211, 86, 112, 0.9) 0, rgba(211, 86, 112, 0.9) 1px, transparent 1px, transparent 3px);
  --btn-minimize-gradient: linear-gradient(to bottom, rgba(189, 210, 255, 0.85) 50%, rgba(12, 18, 31, 0.95) 50%);
  --window-status-bg: rgba(19, 31, 53, 0.92);
  --window-status-border-width: 2px;
  --window-status-border: rgba(96, 134, 206, 0.6);
  --window-status-text: #9db7ff;
  --window-dormant-shadow: 8px 8px 0 rgba(10, 13, 23, 0.7);
  --window-drag-shadow: 16px 16px 0 rgba(10, 13, 23, 0.85);
  --finder-divider: 1px dashed rgba(132, 165, 233, 0.45);
  --note-background: repeating-linear-gradient(to bottom, rgba(27, 37, 63, 0.05) 0, rgba(27, 37, 63, 0.05) 18px, rgba(110, 152, 240, 0.18) 18px, rgba(110, 152, 240, 0.18) 19px);
  --profile-card-bg: rgba(16, 25, 41, 0.85);
  --profile-card-border: rgba(122, 158, 229, 0.55);
  --profile-avatar-border: rgba(189, 210, 255, 0.85);
  --profile-avatar-pattern: repeating-linear-gradient(45deg, rgba(109, 145, 226, 0.15) 0, rgba(109, 145, 226, 0.15) 4px, transparent 4px, transparent 8px);
  --profile-tag-border: rgba(189, 210, 255, 0.85);
  --profile-tag-bg: rgba(23, 34, 57, 0.9);
  --profile-link-color: #8fb5ff;
  --ctf-card-bg: rgba(13, 22, 37, 0.85);
  --ctf-card-border: rgba(118, 158, 234, 0.55);
  --ctf-card-text: #ccdaff;
  --ctf-card-heading: #94b6ff;
  --ctf-card-metric: #e0e9ff;
  --ctf-card-hint: #9db8f9;
  --ctf-event-bg: rgba(10, 18, 32, 0.85);
  --ctf-event-border: rgba(118, 158, 234, 0.45);
  --ctf-event-meta: #9ab5f4;
  --ctf-link-color: #8fb5ff;
  --ctf-fallback-text: #9db8f9;
  --dropdown-bg: rgba(12, 20, 34, 0.95);
  --dropdown-border-width: 1px;
  --dropdown-border: rgba(126, 164, 238, 0.55);
  --dropdown-shadow: 6px 6px 0 rgba(10, 13, 23, 0.8);
  --dropdown-item-color: #dbe6ff;
  --dropdown-item-hover-bg: rgba(99, 145, 222, 0.25);
  --about-card-bg: linear-gradient(135deg, rgba(7, 11, 22, 0.92), rgba(3, 5, 12, 0.92));
  --about-card-border: rgba(118, 158, 234, 0.45);
  --about-frame-bg: rgba(2, 4, 11, 0.92);
  --about-frame-border: rgba(249, 200, 0, 0.85);
  --about-caption: #f6e08a;
}

body {
  margin: 0;
  font-family: "Chicago", "Geneva", "Tahoma", sans-serif;
  background: var(--body-bg);
  color: var(--body-text);
}

.desktop {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--desktop-bg);
  background-size: var(--desktop-grid-size);
}

.menubar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  height: 30px;
  background: var(--menubar-bg);
  border-bottom: var(--menubar-border-width) solid var(--menubar-border-color);
  box-shadow: var(--menubar-box-shadow);
  font-size: 14px;
  color: var(--menubar-text);
}

.menubar-section {
  display: flex;
  align-items: center;
  gap: 12px;
}

.menubar-left {
  position: relative;
}

.menubar-left .menu-item {
  background: none;
  border: none;
  font: inherit;
  padding: 4px 8px;
  border-radius: 4px;
  cursor: pointer;
  color: inherit;
  transition: background 0.2s ease, color 0.2s ease;
}

.menu-item--apple {
  padding: 0 6px;
  line-height: 0;
}

.menu-item--apple img {
  display: block;
  height:24px;
  background-color: black;
  width: auto;
}

.menubar-left .menu-item:focus,
.menubar-left .menu-item:hover {
  background: var(--menu-item-hover-bg);
  color: var(--menu-item-hover-text);
  outline: none;
}

.menubar-center {
  flex: 1;
  justify-content: center;
  display: flex;
  color: var(--menubar-center-text);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: bold;
}

.menubar-right {
  font-variant-numeric: tabular-nums;
  color: var(--menubar-right-text);
}

.theme-toggle-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px;
  border-radius: 999px;
  border: 2px solid var(--theme-toggle-border);
  background: var(--theme-toggle-bg);
  color: var(--theme-toggle-text);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  -webkit-appearance: none;
  appearance: none;
}

.theme-toggle-button:hover,
.theme-toggle-button:focus-visible {
  background: var(--theme-toggle-hover-bg);
  outline: none;
}

.theme-toggle-button:focus-visible {
  box-shadow: 0 0 0 3px var(--theme-toggle-focus-ring);
}

.theme-toggle-button .theme-toggle-knob {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid var(--theme-toggle-knob-border);
  background: var(--theme-toggle-knob-bg);
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.theme-toggle-button[data-theme="dark"] .theme-toggle-knob {
  background: var(--theme-toggle-knob-active-bg);
  transform: translateX(4px);
}

.theme-toggle-button .theme-toggle-label {
  margin: 0;
  white-space: nowrap;
}

.desktop-stage {
  flex: 1;
  position: relative;
  padding: 32px 220px 48px 32px;
  min-height: 0;
}

.desktop-icons {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(92px, 120px));
  grid-auto-rows: 120px;
  gap: 20px;
  align-content: start;
  justify-content: flex-start;
}

.system-icons {
  max-width: 520px;
}

.team-roster {
  position: absolute;
  top: 32px;
  right: 32px;
  width: 168px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.team-icons {
  display: grid;
  grid-template-columns: repeat(1, minmax(120px, 1fr));
  gap: 18px;
  justify-items: center;
}

.icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 8px 4px;
  border: 2px solid transparent;
  border-radius: 8px;
  text-align: center;
  cursor: default;
  user-select: none;
  color: var(--icon-text);
}

.icon:focus {
  outline: none;
}

.icon.selected {
  background: var(--icon-selected-bg);
  border-color: var(--icon-selected-border);
}

.icon-art {
  width: 48px;
  height: 48px;
  margin-bottom: 8px;
  border: 2px solid var(--icon-art-border);
  background: var(--icon-art-bg);
  position: relative;
}

.icon-discord {
    padding-top: 5%;
  width: 48px;
  height: 48px;
  border: 2px solid var(--icon-art-border);
  position: relative;
}

.icon-discord-art {
    padding-top: 10%;
    height: 36px;
}

.icon-finder::before,
.icon-notepad::before,
.icon-about::before,
.icon-trash::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 2px solid var(--icon-line);
}

.icon-finder::after {
  content: "";
  position: absolute;
  top: 16px;
  left: 8px;
  right: 8px;
  height: 2px;
  background: var(--icon-line);
}

.icon-notepad::after {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  top: 12px;
  bottom: 12px;
  background: repeating-linear-gradient(
    to bottom,
    var(--icon-line) 0,
    var(--icon-line) 1px,
    transparent 1px,
    transparent 7px
  );
}

.icon-about::after {
  content: "?";
  position: absolute;
  top: 14px;
  left: 0;
  right: 0;
  text-align: center;
  font-weight: bold;
  color: var(--icon-about-color);
}

.icon-trash::after {
  content: "";
  position: absolute;
  bottom: 6px;
  left: 10px;
  right: 10px;
  height: 10px;
  border-top: 2px solid var(--icon-line);
}

.icon-stats::before {
  content: "";
  position: absolute;
  inset: 8px 6px 8px 10px;
  border: 2px solid var(--icon-stats-frame);
  background: var(--icon-stats-face);
}

.icon-stats::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 12px;
  bottom: 12px;
  top: 16px;
  background: var(--icon-stats-graph);
  clip-path: polygon(0% 100%, 0% 70%, 22% 70%, 22% 30%, 46% 30%, 46% 50%, 70% 50%, 70% 10%, 100% 10%, 100% 100%);
}

.icon-avatar {
  background: var(--icon-avatar-bg);
  overflow: hidden;
}

.icon-avatar::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 50%;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 2px solid var(--icon-avatar-face-border);
  background: var(--icon-avatar-face-bg);
  transform: translateX(-50%);
}

.icon-avatar::after {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 6px;
  height: 18px;
  border: 2px solid var(--icon-avatar-base-border);
  background: var(--icon-avatar-base-bg);
}

.icon-avatar-665 {
  background: var(--avatar-665-bg);
}

.icon-avatar-665::after {
  background: var(--avatar-665-base);
}

.icon-avatar-sam {
  background: var(--avatar-sam-bg);
}

.icon-avatar-sam::after {
  background: var(--avatar-sam-base);
}

.icon-avatar-healthstone {
  background: var(--avatar-healthstone-bg);
}

.icon-avatar-healthstone::after {
  background: var(--avatar-healthstone-base);
}

.icon-avatar-razvan {
  background: var(--avatar-razvan-bg);
}

.icon-avatar-razvan::after {
  background: var(--avatar-razvan-base);
}

.icon-avatar-ry {
  background: var(--avatar-ry-bg);
}

.icon-avatar-ry::after {
  background: var(--avatar-ry-base);
}

.icon-label {
  margin: 0;
  font-size: 13px;
  line-height: 1.2;
  max-width: 72px;
}

.windows {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.window {
  position: absolute;
  top: 120px;
  left: 160px;
  transform: scale(1);
  min-width: 280px;
  background: var(--window-bg);
  border: var(--window-border-width) solid var(--window-border);
  box-shadow: var(--window-shadow);
  display: flex;
  flex-direction: column;
  animation: pop-in 160ms ease-out;
  color: var(--window-text);
  pointer-events: auto;
}

@keyframes pop-in {
  from {
    transform: scale(0.9);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes pop-out {
  from {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(0.8);
    opacity: 0;
  }
}

.window-titlebar {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--window-titlebar-bg);
  border-bottom: var(--window-titlebar-border-width) solid var(--window-titlebar-border);
  padding: 6px 10px;
  cursor: grab;
  touch-action: none;
  color: var(--window-titlebar-text);
}

.titlebar-buttons {
  display: flex;
  gap: 6px;
}

.title-button {
  width: 14px;
  height: 14px;
  border: 2px solid var(--title-button-border);
  background: var(--title-button-bg);
  cursor: pointer;
  padding: 0;
}

.btn-close {
  background: var(--btn-close-pattern);
}

.btn-minimize {
  background: var(--btn-minimize-gradient);
}

.window-title {
  margin: 0;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: var(--window-titlebar-text);
}

.window-content {
  padding: 16px;
  font-size: 14px;
  line-height: 1.4;
  color: var(--window-text);
}

.window-status {
  height: 24px;
  border-top: var(--window-status-border-width) solid var(--window-status-border);
  background: var(--window-status-bg);
  padding: 4px 12px;
  font-size: 12px;
  color: var(--window-status-text);
}

.window.minimized {
  transition: transform 200ms ease, opacity 200ms ease;
  transform: scale(0.2);
  opacity: 0;
  pointer-events: none;
}

.window.is-dormant {
  box-shadow: var(--window-dormant-shadow);
}

.window.dragging {
  box-shadow: var(--window-drag-shadow);
  cursor: grabbing;
}

.window.dragging .window-titlebar {
  cursor: grabbing;
}

.window.closing {
  animation: pop-out 160ms ease-in forwards;
}

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

.finder-list li {
  padding: 6px 0;
  border-bottom: var(--finder-divider);
}

.finder-list li:last-child {
  border-bottom: none;
}

.note {
  background: var(--note-background);
  padding: 12px;
}

.note h3 {
  margin-top: 0;
  margin-bottom: 8px;
}

.note-editor {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.memo-actions {
  display: flex;
  justify-content: flex-end;
}

.memo-button {
  padding: 4px 12px;
  border-radius: 8px;
  border: 2px solid var(--window-border);
  background: var(--menubar-bg);
  color: var(--window-text);
  font: inherit;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.memo-button:hover,
.memo-button:focus-visible {
  background: var(--menu-item-hover-bg);
  color: var(--menu-item-hover-text);
  outline: none;
}

.memo-label {
  margin: 0;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.memo-editor {
  width: 100%;
  min-height: 220px;
  background: var(--memo-editor-bg);
  color: var(--memo-editor-text);
  border: 2px solid var(--memo-editor-border);
  border-radius: 10px;
  padding: 12px;
  font: inherit;
  line-height: 1.4;
  resize: vertical;
}

.memo-editor:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--memo-editor-focus-ring);
}

.memo-hint {
  margin: 0;
  font-size: 12px;
  color: var(--memo-hint-text);
}

.profile-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: var(--profile-card-bg);
  border: 2px solid var(--profile-card-border);
  padding: 12px;
  color: var(--window-text);
}

.profile-header {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.profile-photo {
  width: 72px;
  height: 72px;
  border-radius: 10px;
  border: 2px solid var(--profile-avatar-border);
  object-fit: cover;
  background: rgba(0, 0, 0, 0.08);
}

body[data-theme="dark"] .profile-photo {
  background: rgba(255, 255, 255, 0.08);
}

.profile-photo--placeholder {
  display: inline-block;
  background: var(--profile-avatar-pattern);
}

.profile-card.profile-card--loading {
  min-height: 140px;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 8px;
  color: var(--memo-hint-text);
}

.profile-avatar-stamp {
  width: 48px;
  height: 48px;
  border: 2px solid var(--profile-avatar-border);
  background: var(--profile-avatar-pattern);
}

.profile-tag {
  display: inline-block;
  margin: 2px 0 0;
  padding: 2px 6px;
  border: 1px solid var(--profile-tag-border);
  background: var(--profile-tag-bg);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.profile-highlights {
  margin: 0;
  padding-left: 16px;
}

.profile-highlights li {
  margin-bottom: 6px;
}

.profile-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 13px;
}

.profile-links a {
  color: var(--profile-link-color);
  text-decoration: underline;
}

.profile-links span {
  color: var(--profile-link-color);
}

.profile-links code {
  font-family: "Menlo", "Courier New", monospace;
  font-size: 12px;
  padding: 0 4px;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.08);
}

body[data-theme="dark"] .profile-links code {
  background: rgba(255, 255, 255, 0.12);
}

.ctftime-pane {
  display: flex;
  flex-direction: column;
  gap: 16px;
  color: var(--ctf-card-text);
}

.ctftime-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}

.ctftime-card {
  background: var(--ctf-card-bg);
  border: 1px solid var(--ctf-card-border);
  padding: 12px;
  border-radius: 8px;
  color: var(--ctf-card-text);
}

.ctftime-card h4 {
  margin: 0 0 4px;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ctf-card-heading);
}

.ctftime-card .metric-value {
  font-size: 18px;
  font-weight: bold;
  color: var(--ctf-card-metric);
}

.ctftime-card .metric-hint {
  font-size: 12px;
  color: var(--ctf-card-hint);
}

.ctftime-events {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.ctftime-events li {
  padding: 10px 12px;
  border: 1px solid var(--ctf-event-border);
  background: var(--ctf-event-bg);
  border-radius: 6px;
}

.ctftime-event-name {
  margin: 0 0 4px;
  font-weight: 600;
  color: var(--ctf-card-metric);
}

.ctftime-event-meta {
  font-size: 12px;
  color: var(--ctf-event-meta);
}

.ctftime-fallback-note {
  font-size: 12px;
  color: var(--ctf-fallback-text);
}

.menu-dropdown {
  position: absolute;
  top: 30px;
  left: 16px;
  background: var(--dropdown-bg);
  border: var(--dropdown-border-width) solid var(--dropdown-border);
  box-shadow: var(--dropdown-shadow);
  display: flex;
  flex-direction: column;
  min-width: 160px;
  z-index: 999;
}

.menu-dropdown.hidden {
  display: none;
}

.menu-dropdown-item {
  background: none;
  border: none;
  padding: 8px 12px;
  text-align: left;
  font: inherit;
  cursor: pointer;
  color: var(--dropdown-item-color);
}

.menu-dropdown-item:hover,
.menu-dropdown-item:focus {
  background: var(--dropdown-item-hover-bg);
  color: var(--menu-item-hover-text);
  outline: none;
}

body.no-select,
.no-select {
  user-select: none;
}



.trash-pane {
  line-height: 1.5;
}

.about-pane {
  display: flex;
  flex-direction: column;
  gap: 18px;
  line-height: 1.6;
}

.about-pane p {
  margin: 0 0 8px;
}

.about-pane p:last-child {
  margin-bottom: 0;
}

.about-description {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.about-logo-card {
  margin: 0;
  align-self: center;
  max-width: 360px;
  width: 100%;
  background: var(--about-card-bg);
  border: 2px solid var(--about-card-border);
  border-radius: 16px;
  padding: 20px 24px;
  box-shadow: 8px 8px 0 rgba(0, 0, 0, 0.3);
  text-align: center;
}

.about-logo-frame {
  background: var(--about-frame-bg);
  border: 3px solid var(--about-frame-border);
  border-radius: 12px;
  padding: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 12px;
  max-width: 50%;
}

.about-logo-frame img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}

.about-logo-caption {
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--about-caption);
}

@media (max-width: 1080px) {
  .desktop-stage {
    padding-right: 180px;
  }

  .team-roster {
    right: 24px;
  }
}

@media (max-width: 920px) {
  .desktop-stage {
    padding: 28px 150px 48px 24px;
  }

  .system-icons {
    max-width: none;
  }

  .team-icons {
    grid-template-columns: repeat(2, minmax(112px, 1fr));
  }
}

@media (max-width: 760px) {
  .menubar {
    flex-direction: column;
    gap: 6px;
    padding: 8px;
    height: auto;
    text-align: center;
  }

  .menubar-section {
    width: 100%;
    justify-content: center;
  }

  .menubar-right {
    order: 1;
  }

  .desktop-stage {
    padding: 20px 16px 96px;
  }

  .team-roster {
    position: static;
    width: 100%;
    margin-top: 28px;
  }

  .team-icons {
    grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
    gap: 16px;
  }

  .desktop-icons {
    justify-content: center;
  }

  .menu-dropdown {
    left: 0;
    width: calc(100% - 32px);
  }

  .theme-toggle-button {
    width: 100%;
    justify-content: center;
  }
}
