    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: 'Monaco', 'Courier New', monospace;
      background: #000000;
      color: #00cccc;
      overflow: hidden;
      height: 100vh;
      display: flex;
      flex-direction: column;
    }

    /* Top title bar */
    .title-bar {
      background: #0a0a0a;
      color: #aaa;
      text-align: center;
      padding: 8px;
      font-size: 12px;
      font-weight: bold;
      border-bottom: 1px solid #111;
    }

    /* Main layout: sidebar + visualization */
    .main-layout {
      display: flex;
      flex: 1;
      overflow: hidden;
    }

    /* Left sidebar */
    .sidebar {
      width: 180px;
      background: #050505;
      border-right: 1px solid #111;
      display: flex;
      flex-direction: column;
      padding: 5px;
      overflow-y: auto;
    }

    .sidebar button {
      width: 100%;
      padding: 2px;
      margin: 1px 0;
      background: #002222;
      color: #00cccc;
      border: 1px solid #004444;
      border-radius: 3px;
      cursor: pointer;
      font-family: inherit;
      font-size: 10px;
    }

    .sidebar button:hover {
      background: #004444;
    }

    .checkbox-row {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 5px 0;
    }

    .checkbox-row input[type="checkbox"] {
      margin-right: 5px;
    }

    .checkbox-row label {
      font-size: 11px;
    }

    .control-section {
      /* properties removed to allow local inline control */
    }

    .section-title {
      font-size: 11px;
      color: #00aaaa;
      margin-bottom: 2px;
      text-align: center;
    }

    .slider-container {
      margin: 2px 0;
    }

    .slider-label {
      font-size: 10px;
      color: #00cccc;
      display: flex;
      justify-content: space-between;
      margin-bottom: 2px;
    }

    /* Compact Single-Line Controls */
    .compact-control-row {
      display: flex;
      align-items: center;
      gap: 4px;
      margin: 1px 0;
      width: 100%;
      height: 18px;
    }

    .compact-control-row input[type="checkbox"] {
      margin: 0;
      flex-shrink: 0;
      cursor: pointer;
    }

    .compact-control-row .control-label {
      font-size: 10px;
      color: #00cccc;
      width: 42px;
      flex-shrink: 0;
      white-space: nowrap;
      overflow: hidden;
      cursor: default;
    }

    .compact-control-row input[type="range"] {
      flex-grow: 1;
      min-width: 30px;
      height: 12px;
      background: #0a3333;
      outline: none;
      -webkit-appearance: none;
      appearance: none;
      margin: 0;
    }

    .compact-control-row input[type="range"]::-webkit-slider-thumb {
      -webkit-appearance: none;
      appearance: none;
      width: 10px;
      height: 10px;
      background: #00cccc;
      cursor: pointer;
      border-radius: 50%;
    }

    .compact-control-row .control-value {
      font-size: 10px;
      color: #00aaaa;
      width: 14px;
      text-align: right;
      flex-shrink: 0;
      font-weight: bold;
    }

    .slider-container input[type="range"] {
      width: 100%;
      height: 12px;
      background: #0a3333;
      outline: none;
      -webkit-appearance: none;
      appearance: none;
    }

    .slider-container input[type="range"]::-webkit-slider-thumb {
      -webkit-appearance: none;
      appearance: none;
      width: 10px;
      height: 10px;
      background: #00cccc;
      cursor: pointer;
      border-radius: 50%;
    }

    .led-grid {
      display: grid;
      grid-template-columns: repeat(8, 12px);
      gap: 3px;
      justify-content: center;
      margin: 10px 0;
    }

    .led-indicator {
      width: 12px;
      height: 12px;
      background: #111;
      border: 1px solid #222;
      border-radius: 2px;
    }

    .led-indicator.on {
      background: #ffcc00;
      box-shadow: 0 0 5px #ffcc00;
    }

    .dopa-buttons {
      display: flex;
      gap: 10px;
      justify-content: center;
      margin: 10px 0;
    }

    .dopa-btn {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: #003333;
      border: 2px solid #006666;
      color: #00cccc;
      cursor: pointer;
    }

    .dopa-btn:hover {
      background: #004444;
    }

    /* Gopher mascot container */
    .gopher-container {
      margin-top: auto;
      padding-top: 10px;
      text-align: center;
    }

    .gopher-container img {
      width: 60px;
      height: 60px;
    }

    html,
    body {
      background-color: #000000 !important;
      margin: 0;
      padding: 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
    }

    /* Main visualization panel */
    .viz-panel {
      flex: 1;
      position: relative;
      background: #000;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: #000000 !important;
    }

    .viz-container {
      background-color: #000000 !important;
      width: 925px;
      height: 539px;
      position: relative;
      flex-shrink: 0;
    }

    .viz-bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: contain;
      z-index: 0;
      pointer-events: none;
      background-color: #000000 !important;
      border: none !important;
      outline: none !important;
    }

    /* Canvas positioning - will be positioned absolutely over architecture diagram */
    canvas {
      position: absolute;
      image-rendering: pixelated;
      image-rendering: crisp-edges;
      border: 0 !important;
      outline: none !important;
      box-shadow: none !important;
      background-color: #000000 !important;
      z-index: 1;
      z-index: 1;
    }

    /* In-Situ Audio Control Overlays */
    .audio-overlay-btn {
      position: absolute;
      width: 14px;
      height: 14px;
      background: rgba(0, 0, 0, 0.4);
      border: 1px solid rgba(0, 204, 204, 0.3);
      border-radius: 50%;
      cursor: pointer;
      z-index: 100;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.2s ease;
      padding: 2px;
      opacity: 0.7;
      overflow: visible;
    }

    .audio-overlay-btn:hover {
      background: rgba(0, 204, 204, 0.2);
      border-color: #00cccc;
      opacity: 1.0;
      transform: scale(1.1);
    }

    .audio-overlay-btn svg {
      width: 100%;
      height: 100%;
      fill: #00cccc;
      /* Active Color */
      pointer-events: none;
      transform: scale(1.5);
    }

    /* Muted State */
    .audio-overlay-btn.muted {
      border-color: #555;
      background: rgba(0, 0, 0, 0.6);
    }

    .audio-overlay-btn.muted svg {
      fill: #555;
    }

    /* Positions (Tunable) */
    #btn-audio-sensor {
      top: 77px;
      left: 259px;
    }

    #btn-audio-l1 {
      top: 128px;
      left: 410px;
    }

    #btn-audio-l2 {
      top: 266px;
      left: 410px;
    }

    #btn-audio-l3 {
      top: 417px;
      left: 410px;
    }

    #btn-audio-output {
      top: 436px;
      left: 862px;
    }

    #btn-audio-focus {
      top: 252px;
      left: 798px;
    }

    /* Bottom status bar */
    .status-bar {
      background: #050505;
      border-top: 1px solid #111;
      padding: 6px 10px;
      display: flex;
      justify-content: space-between;
      font-size: 10px;
      color: #00cccc;
    }

    /* Focus Highlight Box */
    #focusHighlightBox {
      position: absolute;
      border: 1px dashed #ff9900;
      pointer-events: none;
      z-index: 100;
      display: none;
      box-sizing: border-box;
      box-shadow: 0 0 6px rgba(255, 153, 0, 0.5);
      border-radius: 999px;
      animation: focusPulse 1.5s ease-in-out infinite;
    }

    @keyframes focusPulse {

      0%,
      100% {
        box-shadow: 0 0 4px rgba(255, 153, 0, 0.4);
        border-color: rgba(255, 153, 0, 0.7);
      }

      50% {
        box-shadow: 0 0 12px rgba(255, 153, 0, 0.8);
        border-color: #ff9900;
      }
    }



    .status-item {
      display: flex;
      gap: 5px;
    }

    .status-label {
      color: #00aaaa;
    }

    .status-value {
      color: #00cccc;
      font-weight: bold;
    }

    /* Status Bar Components */
    #gopher-anim {
      width: 31px;
      height: 38px;
      background-image: url('../gopher_38_cross_eyed.png?v=2');
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      forced-color-adjust: none;
      isolation: isolate;
    }

    .status-section {
      display: flex;
      flex-direction: column;
      /* Stack rows vertically */
      justify-content: center;
      gap: 2px;
    }

    .status-row {
      line-height: 1.2;
      white-space: pre;
    }

    .led-row {
      display: flex;
      align-items: center;
      gap: 5px;
    }

    .led-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background-color: #000;
      border: 1px solid #333;
    }

    .status-group-left {
      display: flex;
      align-items: center;
      gap: 10px;
      /* "Glue" them together */
    }

    /* Modal & Tour Styles */
    .modal-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.85);
      z-index: 1000;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .modal-content {
      background: #1a1a1a;
      border: 1px solid #00cccc;
      padding: 20px;
      width: 400px;
      text-align: center;
      box-shadow: 0 0 20px rgba(0, 204, 204, 0.2);
    }

    .modal-title {
      font-size: 16px;
      color: #00cccc;
      margin-bottom: 15px;
      font-weight: bold;
    }

    .modal-body {
      font-size: 12px;
      color: #aaa;
      line-height: 1.5;
      margin-bottom: 20px;
      text-align: left;
    }

    .modal-buttons {
      display: flex;
      justify-content: center;
      gap: 10px;
    }

    .modal-btn {
      padding: 8px 16px;
      background: #003333;
      color: #00cccc;
      border: 1px solid #006666;
      cursor: pointer;
      font-family: inherit;
      font-size: 11px;
    }

    .modal-btn:hover {
      background: #004444;
    }

    .modal-btn.primary {
      background: #006666;
      color: #fff;
    }

    /* Help Mode Styles */

    /* Help Mode Styles */
    body.help-mode-active {
      cursor: help !important;
    }

    body.help-mode-active * {
      cursor: help !important;
    }

    .help-tooltip {
      position: absolute;
      background: #002222;
      border: 1px solid #00cccc;
      color: #00cccc;
      padding: 10px;
      border-radius: 5px;
      font-size: 12px;
      max-width: 250px;
      z-index: 2000;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
      pointer-events: none;
      /* Let clicks pass through */
      display: none;
    }

    .tour-tooltip {
      display: none;
      /* Removed tour styles */
    }

    .tour-navigation {
      display: none;
    }

    /* Pill Styles for Turing App */
    .pill-row {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .pill {
      padding: 2px 8px;
      border-radius: 999px;
      border: 1px solid #004444;
      font-size: 10px;
      color: #00cccc;
      background: #002222;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      transition: all 0.2s ease;
    }

    .pill:hover {
      border-color: #00aaaa;
      color: #00ffff;
      background: #003333;
    }

    /* Tour Styles */
    .tour-popover {
      position: fixed;
      background: #002222;
      border: 1px solid #00cccc;
      color: #00cccc;
      padding: 15px;
      border-radius: 5px;
      width: 300px;
      z-index: 9999;
      box-shadow: 0 0 20px rgba(0, 204, 204, 0.3);
      font-size: 12px;
      line-height: 1.4;
      transition: opacity 0.3s ease;
    }

    .tour-title {
      font-weight: bold;
      margin-bottom: 8px;
      font-size: 14px;
      color: #00ffff;
    }

    .tour-content {
      margin-bottom: 15px;
      color: #aaa;
    }

    .tour-controls {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .tour-btn {
      background: #004444;
      color: #00cccc;
      border: 1px solid #006666;
      padding: 4px 10px;
      cursor: pointer;
      border-radius: 3px;
      font-family: inherit;
      font-size: 11px;
    }

    .tour-btn:hover {
      background: #005555;
    }

    .tour-btn.primary {
      background: #006666;
      color: #fff;
    }