    * { box-sizing: border-box; }
    [hidden] { display: none !important; }
    html { color-scheme: light; }
    body {
      margin: 0;
      min-height: 100vh;
      min-height: 100svh;
      display: grid;
      place-items: center;
      padding: 28px 16px 72px;
      background: #008080;
      color: #000;
      font-family: Tahoma, "MS Sans Serif", Arial, sans-serif;
      font-size: 13px;
    }
    button, input { font: inherit; }
    button { color: #000; }
    button:focus-visible, input:focus-visible {
      outline: 1px dotted #000;
      outline-offset: -5px;
    }
    .window {
      width: 100%;
      max-width: 570px;
      padding: 3px;
      background: #c0c0c0;
      border: 1px solid;
      border-color: #dfdfdf #000 #000 #dfdfdf;
      box-shadow: inset 1px 1px #fff, inset -1px -1px #808080, 2px 2px 0 #004f4f;
    }
    .window:focus { outline: none; }
    .title-bar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      min-height: 30px;
      padding: 3px 4px;
      color: #fff;
      background: linear-gradient(90deg, #000080, #1084d0);
      font-weight: bold;
    }
    .window-title {
      display: flex;
      align-items: center;
      gap: 6px;
      min-width: 0;
    }
    .window-title span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .monitor-icon { width: 18px; height: 18px; flex: 0 0 auto; }
    .window-actions { display: none; gap: 2px; flex: 0 0 auto; }
    .has-js .window-actions { display: flex; }
    .bevel-button {
      background: #c0c0c0;
      border: 1px solid;
      border-color: #fff #000 #000 #fff;
      box-shadow: inset 1px 1px #dfdfdf, inset -1px -1px #808080;
      border-radius: 0;
    }
    .bevel-button:active {
      border-color: #000 #fff #fff #000;
      box-shadow: inset 1px 1px #808080;
    }
    .window-control { width: 26px; height: 24px; padding: 4px; }
    .window-control svg { display: block; width: 100%; height: 100%; shape-rendering: crispEdges; }
    .path-bar {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 9px 7px 7px;
      font-size: 11px;
    }
    .path {
      flex: 1;
      min-width: 0;
      padding: 4px 6px;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
      background: #fff;
      border: 1px solid;
      border-color: #808080 #fff #fff #808080;
      box-shadow: inset 1px 1px #000;
      font-family: "Courier New", monospace;
    }
    .window-content { display: flex; flex-direction: column; padding: 16px 13px 13px; }
    .intro { flex: 0 0 auto; text-align: center; margin: 0 0 22px; }
    h1 { margin: 0; font: bold 34px/1.1 "Times New Roman", Times, serif; }
    .directory {
      display: flex;
      flex-direction: column;
      flex: 1 0 auto;
      padding: 16px;
      background: #fff;
      border: 1px solid;
      border-color: #808080 #fff #fff #808080;
      box-shadow: inset 1px 1px #000;
    }
    .profiles {
      display: grid;
      flex: 1;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      align-items: center;
      justify-content: center;
      gap: 8px;
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .profile {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      gap: 7px;
      min-width: 0;
      width: 100%;
      padding: 8px 4px;
      color: #0000ee;
      text-decoration: none;
    }
    .profile-button { border: 0; background: transparent; cursor: pointer; }
    .profile-icon { max-width: 100%; }
    .profile img { display: block; width: 80px; max-width: 100%; height: auto; image-rendering: pixelated; }
    .app-icon { display: block; width: 80px; height: 80px; flex: 0 0 80px; background-repeat: no-repeat; background-size: 80px 80px; background-position: center; }
    [data-theme="windows"] .app-icon { background-image: url("../artwork/icons/windows-github.webp"); }
    .cv-icon {
      position: relative;
      display: block;
      width: 80px;
      height: auto;
      aspect-ratio: 1;
      background: #fff;
      border: 1px solid #000;
      box-shadow: inset -6px 0 #ececec, inset 0 -6px #d8d8d8;
    }
    .cv-icon::before {
      content: '';
      position: absolute;
      left: 14px;
      right: 14px;
      top: 18px;
      height: 4px;
      background: #000080;
      box-shadow: 0 11px #777, 0 22px #777, 0 33px #777;
    }
    .cv-icon::after {
      content: 'CV';
      position: absolute;
      right: 7px;
      bottom: 7px;
      padding: 2px 4px;
      color: #fff;
      background: #000080;
      font: bold 13px/1 Arial, sans-serif;
    }
    .profile-label { padding: 2px 4px; text-decoration: underline; text-underline-offset: 2px; }
    .profile:visited { color: #551a8b; }
    .profile:hover .profile-label, .profile:focus-visible .profile-label { background: #000080; color: #fff; }
    .profile:focus-visible { outline: 1px dotted #000; outline-offset: -2px; }
    .cv-notes { width: 100%; color: #000; }
    .cv-toolbar {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 12px;
      font-size: 11px;
      font-family: "Courier New", monospace;
    }
    .cv-back { min-height: 26px; padding: 3px 10px; }
    .cv-paper {
      max-height: min(62svh, 560px);
      overflow: auto;
      padding: 18px;
      background: #fffdf0;
      border: 1px solid;
      border-color: #808080 #fff #fff #808080;
      box-shadow: inset 1px 1px #000;
      font: 14px/1.45 "Courier New", monospace;
    }
    .cv-paper :is(h2, h3, p, ul) { margin-top: 0; }
    .cv-paper h2 { margin-bottom: 3px; font: bold 24px/1.1 Georgia, "Times New Roman", serif; }
    .cv-paper h3 { margin-bottom: 6px; padding-top: 2px; font-size: 14px; text-transform: uppercase; letter-spacing: .04em; }
    .cv-paper section { margin-top: 17px; }
    .cv-paper ul { padding-left: 20px; margin-bottom: 0; }
    .cv-paper li + li { margin-top: 5px; }
    .cv-kicker { margin-bottom: 5px; color: #555; text-transform: uppercase; letter-spacing: .08em; font-size: 11px; }
    .cv-role { margin-bottom: 14px; font-weight: bold; }
    .status-bar { display: flex; gap: 3px; margin: 0 3px 3px; font-size: 11px; }
    .status-panel {
      display: flex;
      align-items: center;
      min-height: 25px;
      padding: 3px 7px;
      border: 1px solid;
      border-color: #808080 #fff #fff #808080;
    }
    .status-info { flex: 1; }
    .trail-option { display: none; align-items: center; gap: 5px; white-space: nowrap; }
    .trail-option input { width: 13px; height: 13px; margin: 0; accent-color: #000080; }
    .taskbar {
      display: none;
      position: fixed;
      z-index: 2;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 42px;
      align-items: center;
      gap: 7px;
      padding: 5px;
      background: #c0c0c0;
      border-top: 1px solid #fff;
      box-shadow: 0 -1px #dfdfdf;
    }
    .has-js .taskbar { display: flex; }
    .start-button { display: flex; align-items: center; gap: 6px; height: 31px; padding: 3px 8px; font-weight: bold; }
    .start-mark { display: grid; grid-template-columns: 6px 6px; gap: 1px; transform: skewY(-10deg); }
    .start-mark i { width: 6px; height: 6px; background: #ff0000; }
    .start-mark i:nth-child(2) { background: #00a000; }
    .start-mark i:nth-child(3) { background: #0000ff; }
    .start-mark i:nth-child(4) { background: #ffff00; }
    .task-divider { width: 2px; height: 27px; border-left: 1px solid #808080; border-right: 1px solid #fff; }
    .task-button {
      min-width: 0;
      max-width: 205px;
      flex: 1;
      height: 31px;
      padding: 4px 9px;
      text-align: left;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 11px;
    }
    .task-button[aria-expanded="true"] { border-color: #000 #fff #fff #000; box-shadow: inset 1px 1px #808080; font-weight: bold; }
    .clock { margin-left: auto; min-width: 72px; justify-content: center; height: 29px; font-size: 11px; }
    .window.maximized { position: fixed; z-index: 1; inset: 8px 8px 50px; width: auto; max-width: none; display: flex; flex-direction: column; transform: none !important; }
    .window.maximized .window-content { flex: 1; min-height: 0; overflow: hidden; }
    .window.maximized .directory { flex: 1; min-height: 0; }
    .window.maximized .cv-notes { display: flex; flex: 1; min-height: 0; flex-direction: column; }
    .window.maximized .cv-paper { flex: 1; min-height: 0; max-height: none; }
    .window.maximized > .title-bar, .window.maximized > .path-bar, .window.maximized > .status-bar { flex-shrink: 0; }
    :is([data-theme="windows"], [data-theme="mac"], [data-theme="ubuntu"]) .window:not(.maximized) > .title-bar { cursor: move; touch-action: none; }
    .window.dragging { user-select: none; }
    #cursor-trails { position: fixed; inset: 0; z-index: 9999; overflow: hidden; pointer-events: none; }
    .cursor-trail { position: absolute; top: 0; left: 0; width: 32px; height: 32px; opacity: 0; image-rendering: pixelated; pointer-events: none; }
    @media (hover: hover) and (pointer: fine) {
      html, body, body * { cursor: url("../artwork/cursor.svg") 1 1, auto; }
      a, button, input, label { cursor: url("../artwork/cursor.svg") 1 1, pointer; }
      html[data-theme="windows"].has-js .trail-option { display: flex; }
    }
    @media (min-width: 640px) {
      body { padding: 32px 24px 74px; }
      .window-content { padding: 22px 22px 20px; }
      .directory { padding: 19px; }
    }
    @media (max-width: 359px) {
      body { padding-inline: 8px; }
      .window-title { font-size: 11px; }
      .window-control { width: 24px; }
      .window-content { padding-inline: 9px; }
      .clock { min-width: 62px; }
    }
    @media (prefers-reduced-motion: reduce) { #cursor-trails { display: none; } }
    @media print {
      body { min-height: auto; background: #fff; padding: 0; }
      .window { box-shadow: none; }
      .window-actions, .taskbar, .trail-option, #cursor-trails { display: none !important; }
      .window.maximized { position: static; }
      .profiles { flex-direction: row; justify-content: center; }
    }

/* Independent alpha-preserving assets; no sprite offsets or colour-key removal. */
[data-theme="windows"] .profile-icon.app-icon-github { background-image: url("../artwork/icons/windows-github.webp"); }
[data-theme="windows"] .profile-icon.app-icon-linkedin { background-image: url("../artwork/icons/windows-linkedin.webp"); }
[data-theme="windows"] .profile-icon.app-icon-cv { background-image: url("../artwork/icons/windows-cv.webp"); }
[data-theme="windows"] .profile-icon.app-icon-settings { background-image: url("../artwork/icons/windows-settings.webp"); }
