.pk-grid {display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));width:100%;aspect-ratio:1;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--surface);touch-action:manipulation;}
.pk-cell {position:relative;aspect-ratio:1;min-width:0;display:grid;place-items:center;padding:0;border:0;box-shadow:inset 0 0 0 .5px var(--line);background:transparent;font-weight:650;font-size:20px;}
.pk-cell svg {display:block;width:100%;height:100%;}
.pk-cell:disabled {opacity:1;box-shadow:inset 0 0 0 .5px var(--line)!important;color:var(--ink);}
.pk-cell:focus-visible {outline-offset:-4px;z-index:2;}
.pk-cell:active:not(:disabled) {background:var(--tile);}
.pk-cell.conflict {box-shadow:inset 0 0 0 2px #c35e55;background:light-dark(#ffe5df,#50322e);}
.pk-tools {display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:16px;margin-top:16px;border-top:1px solid var(--line);min-height:60px;}
.pk-tools>span {font-size:12px;color:var(--muted);}
.pk-palette {display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin:16px 0 0;}
.pk-palette button {width:44px;height:44px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:3px;position:relative;}
.pk-palette button[aria-pressed=true] {outline:2px solid var(--lab-color);outline-offset:1px;}
.pk-palette svg {width:100%;height:100%;}
.pk-palette i {display:block;width:26px;height:26px;border-radius:4px;background:var(--piece-color);}
.pk-palette button>svg.lucide {width:22px;height:22px;}
.pk-cell .pk-clue {position:absolute;top:4px;left:5px;font-size:11px;line-height:15px;color:var(--ink);background:var(--surface);border-radius:3px;padding:0 3px;}
.pk-label {display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--surface);border:1px solid var(--line);font-size:15px;color:var(--ink);}
.pk-network {display:block;width:100%;aspect-ratio:1;touch-action:manipulation;}
.pk-network text {font-family:inherit;font-weight:650;fill:var(--ink);text-anchor:middle;dominant-baseline:central;}
.pk-network [role=button] {cursor:pointer;outline:none;}
.pk-network [role=button]:focus-visible {stroke:var(--lab-color);stroke-width:4;}
.island-water {background:light-dark(#e6f1f5,#243845);}
.island-land {background:color-mix(in srgb,var(--land) 37%,var(--surface));}
.water-dash {width:12px;height:4px;border-top:1px solid light-dark(#b4cfdc,#44657b);border-bottom:1px solid light-dark(#b4cfdc,#44657b);}
.island-seed {display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--surface);border:1px solid var(--line);font-size:18px;}
.palette-number {display:grid;place-items:center;height:26px;color:#fff;font-size:15px;font-style:normal;}
.island-counts {display:flex;justify-content:space-around;gap:8px;margin-top:18px;font-size:12px;font-variant-numeric:tabular-nums;}
.island-counts span {display:flex;gap:5px;align-items:center;}
.island-counts i {width:8px;height:8px;border-radius:2px;background:var(--land);}
.pk-frame {display:grid;grid-template-columns:22px minmax(0,1fr) 22px;grid-template-rows:26px auto 26px;gap:3px;}
.pk-framed-board {grid-area:2/2;}
.pk-axis {display:grid;color:var(--muted);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;}
.pk-axis span {display:grid;place-items:center;}
.pk-axis.top,.pk-axis.bottom {grid-template-columns:repeat(var(--n),minmax(0,1fr));}
.pk-axis.top {grid-area:1/2;}
.pk-axis.bottom {grid-area:3/2;}
.pk-axis.left,.pk-axis.right {grid-template-rows:repeat(var(--n),minmax(0,1fr));}
.pk-axis.left {grid-area:2/1;}
.pk-axis.right {grid-area:2/3;}
.orbit-board {background:#20252c;border-color:#53606c;}
.orbit-board .pk-cell {box-shadow:inset 0 0 0 .5px #3a454f;}
.orbit-board .pk-cell:active {background:#35434d;}
.orbit-board .pk-cell.orbit-highlight {background:#354a52;}
.orbit-board .pk-cell.conflict {background:#613b38;}
.planet-ledger {display:grid;gap:7px;margin-top:12px;}
.planet-ledger>div {display:flex;align-items:center;gap:10px;min-height:28px;font-size:12px;}
.planet-ledger i {width:12px;height:12px;border-radius:50%;background:var(--planet);}
.planet-ledger strong {font-weight:600;}
.planet-ledger span {color:var(--muted);margin-left:auto;}
.pk-cell.signal-wall {background:light-dark(#53616b,#46515b);color:white;}
.pk-cell.signal-wall.satisfied {color:#b9e4be;}
.pk-cell.signal-covered {background:light-dark(#e7f3ed,#293e36);}
.signal-dot {width:6px;height:6px;border-radius:50%;background:#8bb9a4;}
.signal-covered .lucide {width:20px;height:20px;color:var(--muted);}
.stackerz-given .pk-clue svg { width: 10px; height: 10px; }
.district-map { position: relative; }
.district-clues { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.district-owned { background: color-mix(in srgb, var(--district) 22%, var(--surface)); }
.laser-map { position: relative; }
.laser-beam { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.laser-lit .laser-target { fill: #efd591; stroke: #ad9046; }
.laser-fire { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; min-width: 100px; }
.laser-fire .lucide { width: 18px; height: 18px; }
