 :root {
   --bg-color: #0f172a;
   --text-primary: #f8fafc;
   --surface: #1e293b;
 }

 body {
   font-family: 'Inter', sans-serif;
   background-color: var(--bg-color);
   color: var(--text-primary);
   height: 100vh;
   overflow: hidden;
   /* iOS Safari等でのスクロールバウンス防止 */
   overscroll-behavior: none;
 }

 .tabular-nums {
   font-family: 'JetBrains Mono', monospace;
   font-feature-settings: "tnum";
   font-variant-numeric: tabular-nums;
 }

 /* カスタムスクロールバー */
 .laps-container::-webkit-scrollbar {
   width: 6px;
 }

 .laps-container::-webkit-scrollbar-track {
   background: transparent;
 }

 .laps-container::-webkit-scrollbar-thumb {
   background-color: #334155;
   border-radius: 20px;
 }

 .btn-press:active {
   transform: scale(0.95);
   opacity: 0.9;
 }

 @keyframes slideIn {
   from {
     opacity: 0;
     transform: translateY(-10px);
   }

   to {
     opacity: 1;
     transform: translateY(0);
   }
 }

 .lap-item-enter {
   animation: slideIn 0.2s ease-out forwards;
 }

 /* 現在計測中の行のスタイル */
 .current-lap {
   color: #22c55e;
 }