/* Forest-camp play styling is scoped to this puzzle; shared puzzle rules stay intact. */
#logic-puzzle[data-game="tents"] {
  --lp-ink:#294333; --lp-muted:#4f6955; --lp-line:#c5d4b7; --lp-purple:#326a4b;
  color:var(--lp-ink); background:#dce5c4 url("../tents-camp/background.088e9e3d02a0.webp") center / cover fixed;
}
#logic-puzzle[data-game="tents"] .lp-wrap {max-width:1420px}
#logic-puzzle[data-game="tents"] .lp-layout {display:block; position:relative}
#logic-puzzle[data-game="tents"] .game-puzzle-options {
  position:absolute; z-index:6; right:18px; top:17px; width:min(300px,calc(100% - 36px));
  border:1px solid #b8c9a8; border-radius:15px; background:#fffdf4; box-shadow:0 4px 12px #28472b28;
}
#logic-puzzle[data-game="tents"] .game-puzzle-options:not([open]) {width:auto; min-width:142px}
#logic-puzzle[data-game="tents"] .game-puzzle-options > summary {color:#315a3c; padding:10px 15px; min-height:46px; font-size:16px; font-weight:800; word-break:keep-all}
#logic-puzzle[data-game="tents"] .lp-sidebar {display:block; border:0; box-shadow:none; position:static; background:#fffdf4; padding:15px; border-radius:0 0 15px 15px}
#logic-puzzle[data-game="tents"] .lp-sidebar .lp-tiers {display:flex}
#logic-puzzle[data-game="tents"] .lp-sidebar .lp-puzzle-label {margin:10px 0 12px}
#logic-puzzle[data-game="tents"] .lp-sidebar .lp-stats {display:flex; margin:5px 0 0; padding:12px 0; gap:14px; border-bottom:1px solid #dbe6d5}
#logic-puzzle[data-game="tents"] .lp-sidebar .lp-stats span {font-size:14px}
#logic-puzzle[data-game="tents"] .lp-sidebar .lp-stats strong {font-size:20px}
#logic-puzzle[data-game="tents"] .lp-sidebar .lp-timer-toggle {margin:10px 0; font-size:14px}
#logic-puzzle[data-game="tents"] .lp-sidebar .lp-share-button {width:100%; min-height:46px!important; padding:9px!important; font-size:14px!important; word-break:keep-all}
#logic-puzzle[data-game="tents"] .lp-sidebar .lp-storage-note {font-size:13px; margin-top:10px}
#logic-puzzle[data-game="tents"] .lp-play-panel {background:#fffef3ed; border:1px solid #d7dfc8; border-radius:24px; padding:18px 22px 24px; box-shadow:0 12px 30px #263e2733}
#logic-puzzle[data-game="tents"] .lp-board-head {margin:0 158px 8px 0; gap:12px}
#logic-puzzle[data-game="tents"] .lp-board-head h2 {font-size:clamp(20px,2vw,26px); line-height:1.25; word-break:keep-all}
#logic-puzzle[data-game="tents"] .lp-step {font-size:14px; color:#567a50}
#logic-puzzle[data-game="tents"] .lp-zoom span {font-size:14px; min-width:42px}
#logic-puzzle[data-game="tents"] .lp-zoom button {min-width:44px; min-height:44px}
#logic-puzzle[data-game="tents"] .lp-tools {justify-content:center; margin:8px 0; gap:8px}
#logic-puzzle[data-game="tents"] .lp-tools button {font-size:16px; min-height:48px; padding:10px 18px; border-color:#bad0b0; background:#fffdf4; color:#31513a}
#logic-puzzle[data-game="tents"] .lp-tools button[aria-pressed="true"] {background:#dbead1; color:#204b2d; border-color:#6e9c65; box-shadow:0 3px 0 #a2bc92}
#logic-puzzle[data-game="tents"] .np-legend {display:block; margin:6px 0 12px; color:#3f5b42; font-size:15px; line-height:1.5; text-align:center; word-break:keep-all}
#logic-puzzle[data-game="tents"] .lp-board-layout {display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:20px; align-items:center; max-width:1080px; margin:0 auto}
#logic-puzzle[data-game="tents"] .lp-board-viewport {background:#edf2df; border:3px solid #96ad7b; border-radius:20px; padding:10px; box-shadow:0 5px 0 #78915f}
#logic-puzzle[data-game="tents"] .lp-board.np-tents {background:transparent; border:0}
#logic-puzzle[data-game="tents"] .np-tents .lp-cell {background:#f7f3dc; border:1px solid #c9d0b6; color:#486543}
#logic-puzzle[data-game="tents"] .np-tents .lp-cell:hover {border-color:#638f62; z-index:1}
#logic-puzzle[data-game="tents"] .np-tents .np-tree {background:#d2e5c2!important}
#logic-puzzle[data-game="tents"] .np-tents .lp-cell:not(.np-tree)[aria-pressed="true"] {background-color:#f8dfae; border-color:#d0a263}
#logic-puzzle[data-game="tents"].camp-art-ready .np-tents .np-tree {background-image:url("../tents-camp/tree.425a6101c467.webp")!important; background-position:center!important; background-repeat:no-repeat!important; background-size:85%!important}
#logic-puzzle[data-game="tents"].camp-art-ready .np-tents .lp-cell:not(.np-tree)[aria-pressed="true"] {background-image:url("../tents-camp/tent.c09ab2738f83.webp"); background-position:center; background-repeat:no-repeat; background-size:85%}
#logic-puzzle[data-game="tents"] .np-tents .lp-marked {color:#647b69; font-size:calc(var(--cell)*.65)}
#logic-puzzle[data-game="tents"] .np-tents .lp-cell:focus-visible {outline:3px solid #a25121; outline-offset:-4px; z-index:3}
#logic-puzzle[data-game="tents"] .np-tents .np-bad {box-shadow:inset 0 0 0 4px #b83532!important}
#logic-puzzle[data-game="tents"] .lp-clue {font-size:18px; font-weight:850; color:#294c32}
#logic-puzzle[data-game="tents"] .lp-clue-done {color:#607961}
#logic-puzzle[data-game="tents"] .lp-clue.np-bad {color:#8f221c; background:#ffe3d6}
#logic-puzzle[data-game="tents"] .lp-board-controls {display:grid; gap:10px; align-self:center; min-width:0; background:#fffef4; border:1px solid #cbdabf; border-radius:18px; padding:15px; box-shadow:0 4px 0 #b6c9a4}
#logic-puzzle[data-game="tents"] .lp-actions {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0}
#logic-puzzle[data-game="tents"] .lp-actions button {min-width:0; min-height:50px; padding:8px; font-size:15px; line-height:1.3; word-break:keep-all; color:#31523b; border-color:#bdd0b4}
#logic-puzzle[data-game="tents"] .lp-actions button:disabled {opacity:1; color:#6f7b6c; background:#edf1e7; border-color:#d1d9ca}
#logic-puzzle[data-game="tents"] .lp-actions .lp-hint-button {background:#ffe7a6; border-color:#d6ad58; color:#654516}
#logic-puzzle[data-game="tents"] .lp-selection, #logic-puzzle[data-game="tents"] .lp-feedback {font-size:15px; line-height:1.5; word-break:keep-all; text-align:left; margin:0; padding:9px; min-height:0; color:#36543c; background:#e9f1e1}
#logic-puzzle[data-game="tents"] .lp-feedback.lp-error {color:#8b342a; background:#ffebe4}
#logic-puzzle[data-game="tents"] .lp-selection:empty {display:none}
#logic-puzzle[data-game="tents"] .lp-win {background:#edf5e7; border-color:#b9d3ac; color:#315a3c}
#logic-puzzle[data-game="tents"] .lp-shell button[aria-pressed="true"] {color:#204b2d}
#logic-puzzle[data-game="tents"] .lp-primary {background:#326a4b; border-color:#326a4b; color:#fff}
#logic-puzzle[data-game="tents"] .lp-dialog {background:#fffdf5; border-color:#bed0b1}
#logic-puzzle[data-game="tents"] :is(.lp-board-head,.lp-controls,.lp-feedback,.lp-note) {overflow-wrap:normal}
@media (max-width:780px), (orientation:portrait) {
  #logic-puzzle[data-game="tents"] .lp-play-panel {padding:12px; border-radius:18px}
  #logic-puzzle[data-game="tents"] .game-puzzle-options {top:12px; right:12px; width:min(300px,calc(100% - 24px))}
  #logic-puzzle[data-game="tents"] .game-puzzle-options:not([open]) {width:auto; min-width:120px}
  #logic-puzzle[data-game="tents"] .game-puzzle-options > summary {font-size:14px; min-height:44px; padding:10px}
  #logic-puzzle[data-game="tents"] .lp-board-head {margin-right:130px; min-height:44px; flex-wrap:wrap}
  #logic-puzzle[data-game="tents"] .lp-board-head h2 {font-size:18px}
  #logic-puzzle[data-game="tents"] .lp-board-head .lp-zoom {order:2}
  #logic-puzzle[data-game="tents"] .lp-tools {gap:6px}
  #logic-puzzle[data-game="tents"] .lp-tools button {flex:1; min-width:0; padding:8px 4px; font-size:14px; word-break:keep-all}
  #logic-puzzle[data-game="tents"] .np-legend {font-size:14px; margin:5px 0 8px}
  #logic-puzzle[data-game="tents"] .lp-board-layout {grid-template-columns:minmax(0,1fr); gap:14px}
  #logic-puzzle[data-game="tents"] .lp-board-controls {display:grid; width:min(100%,540px); justify-self:center}
  #logic-puzzle[data-game="tents"] .lp-actions {display:grid; grid-template-columns:repeat(2,minmax(0,1fr))}
  #logic-puzzle[data-game="tents"] .lp-board-viewport {padding:6px; border-width:2px; border-radius:14px}
  #logic-puzzle[data-game="tents"] .lp-clue {font-size:16px}
}
@media(prefers-reduced-motion:reduce) {#logic-puzzle[data-game="tents"] * {animation:none!important; transition:none!important}}
#logic-puzzle[data-game="tents"] .lp-camp-mascot {display:block; width:110px; height:110px; object-fit:contain; margin:-3px auto -8px; filter:drop-shadow(0 4px 3px #38533135)}
@media (max-width:780px), (orientation:portrait) {#logic-puzzle[data-game="tents"] .lp-camp-mascot {display:none}}
#logic-puzzle[data-game="tents"] .lp-sidebar .lp-tiers button[aria-pressed="true"] {background:#dbead1; border-color:#7ca76f; color:#214b30}
body:has(#logic-puzzle[data-game="tents"]) #classroom-play-toolbar {background:#f8f8ed; color:#294633}
body:has(#logic-puzzle[data-game="tents"]) #classroom-play-toolbar h1 {color:#294633}
body:has(#logic-puzzle[data-game="tents"]) #classroom-play-toolbar :is(button,a) {background:#fffef6; border-color:#c9d7bf; color:#345a3c}
body:has(#logic-puzzle[data-game="tents"]) #classroom-play-toolbar :is(button,a):hover {background:#eaf2e2; color:#234b30}
/* Keep the campsite visible around the playable board. */
#logic-puzzle[data-game="tents"] .lp-play-panel {background:transparent; border-color:transparent; box-shadow:none}
#logic-puzzle[data-game="tents"] .lp-board-head {background:#fffef3ef; border:1px solid #d7dfc8; border-radius:14px; padding:7px 10px}
#logic-puzzle[data-game="tents"] .np-legend {width:fit-content; max-width:100%; margin-left:auto; margin-right:auto; padding:5px 12px; border-radius:10px; background:#fffef3f2}
@media (max-width:480px) {
  #logic-puzzle[data-game="tents"] .lp-board-head {padding:2px 4px; margin-right:125px}
  #logic-puzzle[data-game="tents"] .lp-board-head h2 {font-size:16px; letter-spacing:-.06em; white-space:nowrap}
  #logic-puzzle[data-game="tents"] .np-legend {padding:2px 7px}
}
/* A short response to a real edit; the underlying symbol remains visible. */
#logic-puzzle[data-game="tents"] .np-tents .lp-cell.camp-cell-changing {animation:camp-cell-placed 420ms ease-out both; z-index:2}
#logic-puzzle[data-game="tents"][data-camp-mood="complete"] #lp-win {animation:camp-result-arrive 420ms ease-out both}
@keyframes camp-cell-placed {0%{transform:scale(.92)} 55%{transform:scale(1.04)} 100%{transform:scale(1)}}
@keyframes camp-result-arrive {0%{opacity:.55; transform:translateY(6px)} 100%{opacity:1; transform:translateY(0)}}
@media(prefers-reduced-motion:reduce) {
  #logic-puzzle[data-game="tents"] .np-tents .lp-cell.camp-cell-changing,
  #logic-puzzle[data-game="tents"][data-camp-mood="complete"] #lp-win {animation:none!important; transform:none!important}
}
/* The shared result component adopts this game's forest colors. */
#logic-puzzle[data-game="tents"] #lp-win[data-game-result-style] {background:#f4faee!important; border-color:#bfd5b2!important}
#logic-puzzle[data-game="tents"] #lp-win[data-game-result-style] [data-result-part="title"] {color:#294d34!important}
#logic-puzzle[data-game="tents"] #lp-win[data-game-result-style] [data-result-part="detail"] {color:#4c6650!important}
#logic-puzzle[data-game="tents"] #lp-win[data-game-result-style] [data-result-part="primary"] {background:#326a4b!important; border-color:#326a4b!important; color:#fff!important}
#logic-puzzle[data-game="tents"] #lp-win[data-game-result-style] [data-result-part="primary"]:hover {background:#24553a!important; border-color:#24553a!important}
#logic-puzzle[data-game="tents"] .lp-corner {font-size:14px; color:#526f58}
#logic-puzzle[data-game="tents"] .lp-sidebar .lp-puzzle-label,
#logic-puzzle[data-game="tents"] .lp-sidebar .lp-storage-note {font-size:14px; line-height:1.5; word-break:keep-all}

/* Origami map concept: real, reachable controls sit beside the interactive board. */
#logic-puzzle[data-game="tents"] {background:#e9ead2 url("../tents-camp/reference-ui/background.9b9ecbfe2541.webp") center / cover fixed}
#logic-puzzle[data-game="tents"] .lp-board-layout {position:relative; grid-template-columns:minmax(0,1fr) minmax(220px,270px); max-width:1040px; padding-right:0}
#logic-puzzle[data-game="tents"] .lp-board-viewport {background:#f7f0dd url("../tents-camp/reference-ui/board.55d9ef62a94e.webp") center / 100% 100% no-repeat; border:4px solid #dfc7a3; border-radius:24px; padding:18px; box-shadow:0 7px 0 #bca888,0 12px 22px #344b2c28}
#logic-puzzle[data-game="tents"] .np-tents .lp-cell {background-color:#f6edd7; border-color:#d7c6a7}
#logic-puzzle[data-game="tents"] .np-tents .np-tree {background-color:#dfeacf!important}
#logic-puzzle[data-game="tents"] .lp-board-controls {background:#fff9e9 url("../tents-camp/reference-ui/panel.55d9ef62a94e.webp") center / 100% 100% no-repeat; border:2px solid #e4d2b0; padding:18px; box-shadow:0 5px 0 #ccb994; gap:10px}
#logic-puzzle[data-game="tents"] .lp-board-controls .lp-tools {display:grid; grid-template-columns:1fr; gap:8px; margin:0}
#logic-puzzle[data-game="tents"] .lp-board-controls .lp-tools button {width:100%; min-height:56px; margin:0; border:2px solid #cbb99a; background:#fff9e9; box-shadow:0 3px 0 #c7b491; font-size:17px; color:#394d35; text-align:center}
#logic-puzzle[data-game="tents"] .lp-board-controls .lp-tools button[aria-pressed="true"] {background:#d06f4b url("../tents-camp/reference-ui/button.d7dfa8844895.webp") center / 100% 100% no-repeat; border-color:#aa593b; color:#fff; text-shadow:0 1px 2px #603723; box-shadow:0 3px 0 #994e37}
#logic-puzzle[data-game="tents"] .lp-board-controls button:focus-visible {outline:3px solid #9a4d24;outline-offset:3px}
#logic-puzzle[data-game="tents"] .lp-camp-mascot {position:absolute; right:-94px; bottom:-2px; width:96px; height:115px; margin:0; pointer-events:none}
@media (max-width:1250px) {#logic-puzzle[data-game="tents"] .lp-camp-mascot {display:none}}
@media (max-width:780px), (orientation:portrait) {
 #logic-puzzle[data-game="tents"] .lp-board-layout {grid-template-columns:minmax(0,1fr);gap:14px}
 #logic-puzzle[data-game="tents"] .lp-board-controls .lp-tools {grid-template-columns:repeat(3,minmax(0,1fr))}
 #logic-puzzle[data-game="tents"] .lp-board-controls .lp-tools button {min-height:50px; padding:8px 3px; font-size:14px; word-break:keep-all}
 #logic-puzzle[data-game="tents"] .lp-board-viewport {padding:8px;border-width:3px}
 #logic-puzzle[data-game="tents"] .lp-board-controls {padding:12px}
}
/* The board's top edge must stay fixed while its cells resize to available height. */
#logic-puzzle[data-game="tents"] .lp-board-layout {align-items:start}

/* Each primary control uses a tactile image, with real HTML labels and selection state. */
#logic-puzzle[data-game="tents"] .lp-board-controls .lp-tools button {border:0;box-shadow:none;background-color:transparent;background-size:100% 100%;background-repeat:no-repeat;color:#284931}
#logic-puzzle[data-game="tents"] .lp-board-controls .lp-tools [data-tool="fill"] {background-image:url("../tents-camp/reference-ui/button.d7dfa8844895.webp");color:#fff;text-shadow:0 1px 2px #673421}
#logic-puzzle[data-game="tents"] .lp-board-controls .lp-tools [data-tool="mark"] {background-image:url("../tents-camp/reference-ui/button-ivory.1c567be7ab2e.webp")}
#logic-puzzle[data-game="tents"] .lp-board-controls .lp-tools [data-tool="erase"] {background-image:url("../tents-camp/reference-ui/button-mint.2785729be5a4.webp")}
#logic-puzzle[data-game="tents"] .lp-board-controls .lp-tools button[aria-pressed="true"] {outline:3px solid #4c8052;outline-offset:1px;box-shadow:none}
#logic-puzzle[data-game="tents"] .lp-actions .lp-hint-button {border:0;background:transparent url("../tents-camp/reference-ui/button-yellow.fd00c42bcaa8.webp") center / 100% 100% no-repeat;color:#4e3c16}
#logic-puzzle[data-game="tents"] .lp-board-controls .lp-tools [data-tool="mark"],
#logic-puzzle[data-game="tents"] .lp-board-controls .lp-tools [data-tool="erase"],
#logic-puzzle[data-game="tents"] .lp-actions .lp-hint-button {background-size:100% 135%;background-position:center}
#logic-puzzle[data-game="tents"] .lp-board-controls .lp-tools button[data-tool="fill"][aria-pressed="true"] {background:transparent url("../tents-camp/reference-ui/button.d7dfa8844895.webp") center / 100% 100% no-repeat;color:#fff;text-shadow:0 1px 2px #673421}
#logic-puzzle[data-game="tents"] .lp-board-controls .lp-tools button[data-tool="mark"][aria-pressed="true"] {background:transparent url("../tents-camp/reference-ui/button-ivory.1c567be7ab2e.webp") center / 100% 135% no-repeat;color:#284931;text-shadow:none}
#logic-puzzle[data-game="tents"] .lp-board-controls .lp-tools button[data-tool="erase"][aria-pressed="true"] {background:transparent url("../tents-camp/reference-ui/button-mint.2785729be5a4.webp") center / 100% 135% no-repeat;color:#284931;text-shadow:none}
