 :root{
    --cell-size: 50px;
    --accent: #ff8c00;
    --circle-bg: #87ceeb;
    --header-col: #fde2a0;
    --header-row: #fdd4a0;
  }

  body{
    font-family: Arial, Helvetica, sans-serif;
    display: flex;
    align-items: center;
	flex-direction: column;

  }
  
 
 
   .main-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  margin: 20px auto;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  width: auto;
  height: auto;

}
  .table-container{
    position: relative;
    user-select: none;
  }

  table{
    border-collapse: collapse;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  }

  th, td{
    width: var(--cell-size);
    height: var(--cell-size);
    text-align: center;
    vertical-align: middle;
    border: 1px solid #dcdcdc;
    position: relative;
    padding: 0;
    box-sizing: border-box;
	font-family: Arial Rounded, Calibri, sans-serif;
  }

  thead th {
    background: #f4f4f4;
    font-weight: 700;
  }

  .circle {
    width: calc(var(--cell-size) - 12px);
    height: calc(var(--cell-size) - 12px);
    line-height: calc(var(--cell-size) - 12px);
    border-radius: 50%;
    background: var(--circle-bg);
    display: inline-block;
    font-weight: 700;
    user-select: none;
  }

  /* Neuer kleiner Drag-Punkt */
  .drag-handle {
    position: absolute;
    width: 18px;
    height: 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    color: white;
    line-height:1;
    cursor: nwse-resize;
    /* background: var(--accent); */
    /* border: 2px solid #b95f00; */
    border-radius:50%;
    z-index: 20;
    user-select: none;
  }

  .selection-box{
    position: absolute;
    border: 2px solid var(--accent);
    background: rgba(255,140,0,0.14);
    pointer-events: none;
    z-index: 15;
  }

  .highlight-col { background: var(--header-col) !important; }
  .highlight-row { background: var(--header-row) !important; }

  .info-container{
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  .info-box{
    width:380px;
    min-height:200px;
    padding:10px;
    border:2px solid var(--circle-bg);
    white-space:pre-wrap;
    font-size:15px;


  }
  .buttons{
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .buttons button{
    padding:10px;
    font-size:15px;
    cursor:pointer;
    border:2px solid #999;
    border-radius:6px;
    background:#eee;
  }

  .buttons button.active{
    background:#87ceeb;
    color:black;
    border:2px solid #1b6ea8;
    font-weight:bold;
  }