body {
     /*background-color: #f5f5f5;*/
    }

    #snl-wrapper {
      border-radius: 12px;
    }

    .snl-title {
      font-size: 1.4rem;
      font-weight: 600;
    }

    .board-wrapper {
      position: relative;
      width: 100%;
      max-width: 500px;
      margin: 0 auto;
    }

    .board-img {
      width: 100%;
      height: auto;
      display: block;
      border-radius: 8px;
    }

    .grid-overlay {
      position: absolute;
      inset: 0;
      display: grid;
      grid-template-columns: repeat(8, 1fr);
      grid-template-rows: repeat(8, 1fr);
      pointer-events: none;
    }

    .grid-overlay .cell {
      position: relative;
    }

    .tokens-layer {
      position: absolute;
      inset: 0;
      pointer-events: none;
    }

    .token {
      position: absolute;
      width: min(36px, calc(12.5% * 0.7));
      height: auto;
      transition: top 0.25s ease, left 0.25s ease;
      transform: translate(-50%, -50%);
    }

    .dice-panel {
      background: #f8f9fa;
      border-radius: 8px;
      border: 1px solid rgba(0,0,0,0.06);
      padding: 0.75rem;
      margin-top: 0.8rem;
    }

    .status-message {
      font-size: 0.9rem;
      color: #555;
    }

    .players-list {
      list-style: none;
      padding-left: 0;
      margin-bottom: 0;
      font-size: 0.9rem;
    }

    .players-list li {
      display: flex;
      align-items: center;
      gap: 0.4rem;
      padding: 0.15rem 0;
    }

    .players-list li.active {
      font-weight: 600;
      color: #0d6efd;
    }

    .player-color-dot {
      width: 0.75rem;
      height: 0.75rem;
      border-radius: 50%;
      display: inline-block;
    }

    .p1-dot { background:#dc3545; }
    .p2-dot { background:#0d6efd; }
    .p3-dot { background:#198754; }
    .p4-dot { background:#ffc107; }

    .question-text {
      font-weight: 500;
      margin-bottom: 0.5rem;
    }

    .answers-group label {
      display: flex;
      align-items: flex-start;
      gap: 0.4rem;
      font-size: 0.9rem;
      margin-bottom: 0.25rem;
      cursor: pointer;
    }

    .answers-group input[type="radio"] {
      margin-top: 0.1rem;
    }

    .small-note {
      font-size: 0.8rem;
      color: #666;
    }

    .form-text-small {
      font-size: 0.8rem;
      color: #666;
    }

    .hidden {
      display: none !important;
    }

    .feedback {
      font-size: 1rem;
      font-weight: 600;
      margin-top: 0.8rem;
      padding: 0.6rem 0.8rem;
      border-radius: 6px;
    }

    .feedback.success {
      background: #d1e7dd;
      color: #0f5132;
      border: 1px solid #badbcc;
    }

    .feedback.error {
      background: #f8d7da;
      color: #842029;
      border: 1px solid #f5c2c7;
    }