/* Reference finishes for Ink, Ceramic, Paper and Spores. All decoration is
   static and beneath the puzzle marks. Glass retains its separate treatment. */
.ink-detail,.ceramic-detail,.spores-detail {display:none;pointer-events:none;}
:root[data-theme="ink"] #board .ink-detail,
.skin-preview[data-material="ink"] .ink-detail,
:root[data-theme="ceramic"] :is(#board,#target,#stamp) .ceramic-detail,
.skin-preview[data-material="ceramic"] .ceramic-detail,
:root[data-theme="spores"] #board .spores-detail,
.skin-preview[data-material="spores"] .spores-detail {display:block;}

/* Ink Transfer: worn impressions on paper, with a warm physical stamp. */
:root[data-theme="ink"],.skin-preview[data-material="ink"] {
  --board:#f3ead525;
  --line:#84927b99;
  --board-empty:#9da58e;
}
:root[data-theme="ink"] .board-line,
.skin-preview[data-material="ink"] .preview-grid {filter:url('#print-impression');stroke-width:.85;}
:root[data-theme="ink"] .mark,
:root[data-theme="ink"] .transfer-mark,
.skin-preview[data-material="ink"] .preview-mark {filter:url('#print-impression');}
:root[data-theme="ink"] .stamp-frame {
  fill:url('#ink-stamp-stock');stroke:#4c5c44;stroke-width:2.8;filter:url('#paper-deckle');
}
:root[data-theme="ink"] #stamp {filter:drop-shadow(0 2px 0 #49543c85) drop-shadow(1px 5px 4px #4e483847);}
:root[data-theme="ink"] #stamp .mini-line {stroke:#76866b;opacity:.8;}
:root[data-theme="ink"] .target-frame {stroke:#75836d;stroke-width:1.3;filter:url('#print-impression');}
:root[data-theme="ink"] .board-wrap {box-shadow:none;filter:drop-shadow(0 2px 2px #766b4020);}
:root[data-theme="ink"] .controls .icon {
  border-radius:999px;background:#f5f1e636;border-color:#8d968175;
  box-shadow:inset 0 1px 0 #fff9;
}
.skin-preview[data-material="ink"] svg {filter:drop-shadow(0 2px 2px #766b4020);}

/* Ceramic Mosaic: ivory glaze, rounded shoulders, fine crazing and grout. */
:root[data-theme="ceramic"],.skin-preview[data-material="ceramic"] {
  --board:#cfc4b0;
  --line:#a39881;
  --board-empty:#a0a18f;
  --target-line:#a69a82;
  --won-board:#bdc7b2;
}
:root[data-theme="ceramic"] .material-tile,
.skin-preview[data-material="ceramic"] .preview-tile {
  stroke:#fffdf6c9;stroke-width:.8;filter:url('#ceramic-depth');
}
:root[data-theme="ceramic"] #board .anchor {display:none;}
:root[data-theme="ceramic"] .board-bg,
.skin-preview[data-material="ceramic"] .preview-surface {stroke-width:1.5;}
:root[data-theme="ceramic"] .board-wrap {
  box-shadow:none;filter:drop-shadow(0 2px 1px #84735766) drop-shadow(2px 7px 5px #72613a26);
}
:root[data-theme="ceramic"] .target-frame,
:root[data-theme="ceramic"] .stamp-frame {fill:#cfc4b0;stroke:#998f78;}
:root[data-theme="ceramic"] #stamp .mini-outline {stroke:#8e8d77;stroke-width:1.5;}
:root[data-theme="ceramic"] .same-pattern #stamp .mini-outline {stroke:var(--accent);stroke-width:3;}
:root[data-theme="ceramic"] #target {filter:drop-shadow(0 2px 1px #85735040);}
:root[data-theme="ceramic"] #stamp {filter:drop-shadow(0 2px 1px #7d765669) drop-shadow(1px 4px 3px #6f67432b);}
:root[data-theme="ceramic"] .mark,
:root[data-theme="ceramic"] .transfer-mark,
.skin-preview[data-material="ceramic"] .preview-mark {filter:url('#ceramic-ink-glaze');stroke:none;}
:root[data-theme="ceramic"] .controls .icon {
  border-radius:999px;border-color:#b4a68d7a;
  background:linear-gradient(135deg,#fffdf6e6,#ede5d6d9 75%,#ddd3bfd9);
  box-shadow:inset 1px 2px 1px #fffef6, inset -1px -2px 2px #aa987440, 0 2px 1px #8e7b544d, 1px 4px 5px #74644420;
}
.skin-preview[data-material="ceramic"] svg {filter:drop-shadow(0 2px 1px #84735766) drop-shadow(2px 5px 4px #72613a26);}

/* Paper Craft: one softly raised sheet, deckled edges and a sage paper stamp. */
:root[data-theme="paper"],.skin-preview[data-material="paper"] {
  --line:#858b709e;
  --board-empty:#aaa991;
  --target-line:#f4eddd;
}
:root[data-theme="paper"] .board-bg,
.skin-preview[data-material="paper"] .preview-surface {
  fill:url('#paper-stock');stroke:#fff8e8;stroke-opacity:.85;stroke-width:1.8;rx:5px;filter:url('#paper-deckle');
}
:root[data-theme="paper"] .board-wrap {
  box-shadow:none;filter:drop-shadow(1px 3px 2px #66532e38) drop-shadow(2px 7px 5px #6e553724);
}
:root[data-theme="paper"] .board-line,
.skin-preview[data-material="paper"] .preview-grid {stroke-width:.75;filter:url('#paper-edge');}
:root[data-theme="paper"] #board .anchor {display:none;}
:root[data-theme="paper"] .target-frame {
  fill:url('#paper-stock');stroke:#fffbeb;stroke-width:2.3;rx:3px;filter:url('#paper-deckle');
}
:root[data-theme="paper"] .stamp-frame {
  fill:url('#sage-paper-stock');stroke:#909a7c;stroke-width:1.1;rx:3px;filter:url('#paper-deckle');
}
:root[data-theme="paper"] #target {filter:drop-shadow(1px 3px 2px #715c3036);}
:root[data-theme="paper"] #stamp {filter:drop-shadow(1px 3px 2px #5e614044);}
:root[data-theme="paper"] .mini-line {stroke:#7c8669;opacity:.55;filter:url('#paper-edge');}
:root[data-theme="paper"] .mark,
:root[data-theme="paper"] .transfer-mark,
.skin-preview[data-material="paper"] .preview-mark {filter:url('#print-impression');}
:root[data-theme="paper"] .controls .icon {
  border-radius:999px;border-color:#c6b69770;background:linear-gradient(145deg,#f4ebd9,#eadfc8);
  box-shadow:inset 0 1px 0 #fff8e8bb,1px 2px 2px #6b57332e;
}
.skin-preview[data-material="paper"] svg {filter:drop-shadow(1px 3px 2px #66532e38) drop-shadow(2px 5px 4px #6e553724);}

/* Spores: fine living veins around a quiet centre, with warm luminous marks. */
:root[data-theme="spores"],.skin-preview[data-material="spores"] {
  --board:#293122bd;
  --line:#a0a36780;
  --muted:#c8c49b;
  --control-line:#b3b57877;
  --target-line:#aeb778;
  --board-empty:#b6bb87;
  --stamp-empty:#b0b67d;
  --empty:#a8b17a;
}
:root[data-theme="spores"] .board-wrap {box-shadow:none;filter:drop-shadow(0 0 6px #a9ad491a);}
:root[data-theme="spores"] .board-bg,
.skin-preview[data-material="spores"] .preview-surface {stroke:#a7ad6e;stroke-width:.9;}
:root[data-theme="spores"] .board-line,
.skin-preview[data-material="spores"] .preview-grid {stroke-width:.6;}
:root[data-theme="spores"] #board .anchor {display:none;}
:root[data-theme="spores"] .target-frame {fill:#28302166;stroke-dasharray:3 2.4;stroke-width:1;}
:root[data-theme="spores"] .stamp-frame {fill:#48533570;stroke-width:1.2;}
:root[data-theme="spores"] .mini-line {stroke-width:.6;opacity:.4;}
:root[data-theme="spores"] #stamp {filter:drop-shadow(0 0 3px #c1c5741a);}
:root[data-theme="spores"] .mark,
:root[data-theme="spores"] .transfer-mark,
.skin-preview[data-material="spores"] .preview-mark {filter:url('#spore-glow');stroke:none;}
:root[data-theme="spores"] #board .empty {filter:drop-shadow(0 0 1.5px #d7d99a55);}
:root[data-theme="spores"] .reference figcaption,
:root[data-theme="spores"] .instructions {color:#d4d0a7;letter-spacing:.012em;}
:root[data-theme="spores"] .controls .icon {
  border-radius:999px;background:radial-gradient(ellipse at 40% 25%,#83905418,#27312122);
  box-shadow:inset 0 1px 0 #d0cf9012,0 0 7px #ccd38909;
}
:root[data-theme="spores"] .title-emblem {filter:drop-shadow(0 0 5px #e8d99055);}
.skin-preview[data-material="spores"] svg {filter:drop-shadow(0 0 5px #a9ad4926);}
