/* Second-wave discovery; all object positions are real button layers. */
.sj-shell{--sj-ink:#304b3c;--sj-line:#b7c6af;--sj-paper:#fffdf4;--sj-sage:#e9f0e2;color:var(--sj-ink);max-width:1080px;margin:auto}
.sj-shell *{box-sizing:border-box}
.sj-shell button,.sj-shell select,.sj-shell input,.sj-modes button{min-height:44px;font:inherit;line-height:1.5}
.sj-shell button{touch-action:manipulation}
.sj-shell button:focus-visible,.sj-shell select:focus-visible,.sj-shell input:focus-visible,.sj-modes button:focus-visible{outline:3px solid #245dab;outline-offset:3px}
.sj-modes{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:1rem}
.sj-modes [aria-pressed=true]{background:#315f4d;color:white;border-color:#315f4d}
.sj-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:.75rem;margin-block:.75rem 1rem;align-items:end}
.sj-settings label{display:flex;flex-direction:column;gap:.35rem;font-weight:650;min-width:0}
.sj-settings select,.sj-settings input{width:100%;max-width:100%;min-width:0;border:1px solid var(--sj-line);background:var(--sj-paper);border-radius:12px;padding:.6rem;color:inherit}
.sj-progress{padding:.6rem;font-weight:650;text-align:end}
.sj-steps{display:flex;gap:.5rem;list-style:none;padding:0;margin:1rem 0;flex-wrap:wrap}
.sj-steps li{padding:.4rem .8rem;min-width:44px;border:1px solid var(--sj-line);border-radius:14px;text-align:center;background:#f7f6ed}
.sj-steps .is-current{background:#dce8d5;border:2px solid #527859;font-weight:750}
.sj-clue{position:relative;border:1px solid var(--sj-line);padding:1rem;border-radius:18px;background:var(--sj-sage);margin-block:1rem}
.sj-clue h4{margin:0 0 .65rem;font-size:1.05rem}
.sj-clue-copy{line-height:1.7;font-size:1.12rem;font-weight:650}
.sj-clue-count{margin-block-start:.5rem;font-weight:700;text-align:end}
.sj-clue-symbols{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-block:.5rem}
.sj-clue-symbols img{width:55px;height:55px;object-fit:contain}
.sj-board{position:relative;isolation:isolate;overflow:hidden;border:1px solid #bebca4;border-radius:22px;background:#f6ecd5}
.sj-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;pointer-events:none}
.sj-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,2vw,22px);padding:clamp(12px,2.5vw,28px)}
.sj-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:115px!important;gap:.25rem;border:2px solid #c4c4ac!important;background:#fffdf3ee!important;color:var(--sj-ink)!important;border-radius:17px!important;padding:.5rem!important;transform:none!important;transition:none!important;box-shadow:0 3px 8px #57442d20}
.sj-cell>img{width:min(100%,110px);height:100px;object-fit:contain;pointer-events:none}
.sj-cell-label{font-size:.94rem;font-weight:650;max-width:100%;overflow-wrap:anywhere}
.sj-cell.is-empty{background:#fff9e9a3!important;border-style:dashed!important;box-shadow:none;font-size:1.7rem}
.sj-cell.is-empty:disabled{opacity:.45}
.sj-cell.is-found{background:#e5eedeea!important;border-color:#5b8765!important}
.sj-cell.is-selected{border-color:#214e8c!important;box-shadow:0 0 0 3px #3260a344}
.sj-cell.is-hinted{outline:4px dashed #ab671c;outline-offset:3px}
.sj-cell i{position:absolute;top:3px;right:3px;width:26px;height:26px;border-radius:50%;font-style:normal;background:#315f4d;color:#fff;display:grid;place-items:center}
.sj-selection,.sj-builder-selection{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-block:.8rem}
.sj-selection img,.sj-builder-selection img{width:54px;height:54px;object-fit:contain}
.sj-builder-selection{padding:.6rem;background:#f6f4e7;border:1px solid var(--sj-line);border-radius:14px}
.sj-builder-selection button{margin-inline-start:auto}
.sj-status{min-height:2.4em;line-height:1.7;font-weight:600;margin-block:1rem}
.sj-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-block:.8rem}
.sj-help,.sj-save-note{font-size:.95rem;line-height:1.7;margin-block:.6rem}
.sj-save-note{color:#5c6e60;padding-block:1rem}
.sj-create-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sj-shell h4{font-size:1.05rem}
.sj-clue-editor{padding:1rem;border:1px solid var(--sj-line);border-radius:18px;background:#f5f5ea;margin-block:1rem}
.sj-draft-clues{padding:0;list-style:none;display:flex;flex-direction:column;gap:.65rem;margin-block:1rem}
.sj-draft-clues li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.65rem;border:1px solid var(--sj-line);border-radius:13px;background:var(--sj-paper);padding:.75rem}
.sj-draft-clues .is-invalid{border-style:dashed;border-color:#b78443;background:#fff3dd}
.sj-clue-number{display:grid;place-items:center;border-radius:50%;background:#e2eadc;min-width:32px;min-height:32px;font-weight:700}
.sj-clue-edit-actions{grid-column:2;display:flex;gap:.4rem;flex-wrap:wrap}
.sj-clue-edit-actions button{padding:.4rem .6rem}
.sj-hunt-list,.sj-notebook-pages{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem;margin-block:1rem}
.sj-hunt-list article{display:flex;flex-direction:column;gap:.5rem;border:1px solid var(--sj-line);border-radius:16px;padding:.8rem;background:#faf6e9;min-width:0}
.sj-hunt-list article>img{width:100%;height:110px;object-fit:cover;border-radius:12px}
.sj-hunt-list article>div{display:flex;flex-wrap:wrap;gap:.4rem}
.sj-notebook-page{border:1px solid #d0c9ae;border-radius:18px;padding:.8rem;background:#fffcf0;box-shadow:0 4px 0 #ad9e6e18;min-width:0}
.sj-page-art{position:relative;isolation:isolate;overflow:hidden;border-radius:12px;min-height:150px}
.sj-page-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;z-index:-1}
.sj-page-art>div{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.8rem;min-height:150px}
.sj-page-art figure{margin:0;display:flex;flex-direction:column;align-items:center;background:#fffdf0e8;border-radius:12px;padding:.3rem;max-width:95px}
.sj-page-art figure img{width:65px;height:65px;object-fit:contain}
.sj-page-art figcaption{font-size:.8rem;text-align:center;overflow-wrap:anywhere}
.sj-notebook-page h4{margin:.7rem 0 .3rem;overflow-wrap:anywhere}
.sj-page-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-block-start:.7rem}
.sj-page-actions button{font-size:.9rem;padding:.5rem .7rem}
.sj-page-actions [aria-pressed=true]{background:#e0ead8;border-color:#64855c}
.sj-empty{padding:2rem 1rem;background:#faf6e7;border-radius:18px;margin-block:1rem;line-height:1.7}
@media(max-width:600px){.sj-grid{gap:9px;padding:12px}.sj-cell{min-height:102px!important;padding:.3rem!important}.sj-cell>img{height:70px}.sj-cell-label{font-size:.85rem}.sj-clue-copy{font-size:1rem}.sj-clue-editor{padding:.7rem}.sj-actions button{flex:1 1 40%}}
@media(max-width:360px){.sj-grid{padding:8px;gap:7px}.sj-cell>img{height:58px}.sj-cell-label{font-size:.76rem}.sj-cell{min-height:94px!important}.sj-modes button{flex:1 1 40%}.sj-clue-symbols{gap:.35rem}.sj-clue-symbols img{width:42px;height:42px}.sj-clue-edit-actions{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.sj-shell *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
