/* Sand Shape puzzle gallery — all rules scoped to #ssv-app so the theme is untouched */
#ssv-app{font-family:Roboto,system-ui,-apple-system,'Segoe UI',sans-serif;color:#444444;background:#f4fbf3;border-radius:14px;padding:14px;box-sizing:border-box;max-width:100%}
#ssv-app *,#ssv-app *::before,#ssv-app *::after{box-sizing:border-box}
#ssv-app button{font-family:inherit;line-height:1.2;text-transform:none;letter-spacing:normal;min-height:0;min-width:0;margin:0;width:auto;height:auto;text-shadow:none}
#ssv-app p{margin:0}
#ssv-app svg{max-width:none}
#ssv-app .ssv-loading,#ssv-app .ssv-error{padding:24px 0;text-align:center;font-size:14px;color:#555555}

.ssv-shuffle-note{max-width:100%;background:#eef9ec;border:2px solid #5fcc53;border-radius:10px;padding:12px 16px;font-size:13px;line-height:1.6;font-weight:700;color:#444444;margin-bottom:14px;box-sizing:border-box}

#ssv-app .ssv-filters{background:#ffffff;border:1px solid #dfe8dd;border-radius:12px;padding:12px;margin-bottom:14px}
#ssv-app .ssv-filter-row{margin-bottom:10px}
#ssv-app .ssv-filter-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#555555;margin-bottom:3px;display:block}
#ssv-app .ssv-filter-hint{font-size:11px;color:#666666;margin:0 0 6px;font-style:italic}
#ssv-app .ssv-search-input{width:100%;font-size:14px;padding:9px 12px;border-radius:8px;border:1px solid #d6e2d3;background:#fff;color:#444444;margin:0;height:auto;box-shadow:none}
#ssv-app .ssv-chip-row{display:flex;flex-wrap:wrap;gap:5px;max-height:130px;overflow-y:auto}
#ssv-app .ssv-chip{font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;border:1px solid #d6e2d3;background:#fff;color:#444444;cursor:pointer;user-select:none;box-shadow:none}
#ssv-app .ssv-chip.active{background:#5fcc53;border-color:#5fcc53;color:#ffffff}
#ssv-app .ssv-filter-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid #dfe8dd}
#ssv-app .ssv-match-count{font-size:13px;font-weight:700;color:#444444}
#ssv-app .ssv-reset-btn{font-size:12px;font-weight:700;color:#4cb842;background:none;border:none;cursor:pointer;text-decoration:underline;padding:0;box-shadow:none}

#ssv-app .ssv-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;margin-bottom:8px}

#ssv-app .ssv-panel-ad{margin:0 0 14px;min-height:90px;display:flex;align-items:center;justify-content:center;overflow:hidden}
#ssv-app .ssv-panel-ad .adsbygoogle{width:100%}
#ssv-app .ssv-gallery-tile{display:flex;flex-direction:column;align-items:center;gap:4px;background:#ffffff;border-radius:8px;padding:6px;box-shadow:0 2px 0 rgba(0,0,0,.1);border:2px solid transparent}
#ssv-app .ssv-gallery-tile.ssv-hidden,#ssv-app .ssv-hidden{display:none}
#ssv-app .ssv-gallery-tile.ssv-active{border-color:#5fcc53}
#ssv-app .ssv-mini-wrap{background:#6b3f22;border-radius:4px;padding:3px;display:flex;align-items:center;justify-content:center;width:56px;min-height:44px}
#ssv-app .ssv-mini-wrap svg{display:block}
#ssv-app .ssv-mini-label{font-size:10px;font-weight:700;color:#444444;text-align:center}
#ssv-app .ssv-solve-btn{font-size:10px;font-weight:700;padding:4px 10px;border-radius:999px;border:none;background:#5fcc53;color:#ffffff;cursor:pointer;margin-top:2px;box-shadow:none}
#ssv-app .ssv-active .ssv-solve-btn{background:#444444;color:#ffffff}
#ssv-app .ssv-empty-note{font-size:13px;color:#555555;padding:20px 0;text-align:center}

/* Inline solution panel (spans the full grid row, directly under the clicked level) */
#ssv-app .ssv-panel{grid-column:1/-1;background:#f4fbf3;border:2px solid #5fcc53;border-radius:14px;padding:14px;position:relative;scroll-margin-top:80px;min-width:0}
#ssv-app .ssv-panel-close{position:absolute;top:10px;right:10px;width:30px;height:30px;padding:0;border-radius:50%;border:none;background:#444444;color:#ffffff;font-size:16px;cursor:pointer;box-shadow:none}

#ssv-app .ssv-root{width:100%;overflow-x:hidden}
#ssv-app .ssv-root h2{font-size:18px;line-height:1.3;color:#444444;margin:0 36px 10px 0;padding:0;border:0}
#ssv-app .ssv-rulecards{display:none;gap:10px;background:#eef9ec;border-radius:16px;padding:12px;margin-bottom:14px;flex-wrap:wrap}
#ssv-app .ssv-rulecard{flex:1;min-width:120px;background:#ffffff;border-radius:10px;padding:10px;font-size:11px;font-weight:700;text-align:center;color:#444444;display:flex;flex-direction:column;align-items:center;gap:6px}
#ssv-app .ssv-shapegrid{display:inline-grid;gap:2px}
#ssv-app .ssv-shapecell{width:9px;height:9px;border-radius:2px;background:transparent}
#ssv-app .ssv-shapecell.on{background:#444444}
#ssv-app .ssv-gemrow{display:flex;gap:6px}
#ssv-app .ssv-board-wrap{display:flex;justify-content:center;margin-bottom:14px;width:100%;max-width:100%;overflow-x:hidden}
#ssv-app .ssv-board-frame{max-width:100%;background:#6b3f22;border-radius:14px;padding:6px;box-shadow:0 8px 20px rgba(0,0,0,.25)}
#ssv-app .ssv-board-inner{position:relative;display:block;max-width:100%}
#ssv-app .ssv-cellgrid{display:grid;position:relative;z-index:1}
#ssv-app .ssv-cell{background:#ffffff;border:0.5px solid rgba(0,0,0,.06);position:relative}
#ssv-app .ssv-cell.ssv-outside{background:transparent;border:none}
#ssv-app .ssv-overlay{position:absolute;top:0;left:0;z-index:2;pointer-events:none;max-width:none}
#ssv-app .ssv-toggle-row{display:flex;justify-content:center;margin-bottom:4px}
#ssv-app .ssv-toggle-btn{font-size:14px;font-weight:700;padding:10px 20px;border-radius:12px;border:none;cursor:pointer;background:#5fcc53;color:#ffffff;box-shadow:0 3px 0 rgba(0,0,0,.12)}
#ssv-app .ssv-seo-summary{font-size:13px;line-height:1.5;color:#444444;margin-bottom:14px}
#ssv-app .ssv-note{font-size:13px;text-align:center;color:#555555;margin:0 0 12px}
@media (max-width:480px){#ssv-app{padding:10px}#ssv-app .ssv-panel{padding:10px}#ssv-app .ssv-rulecards{padding:8px}}

/* Site theme match (PGM) */
#ssv-app .ssv-filter-label{font-size:13px;font-weight:800;color:#333333;letter-spacing:.3px;margin-bottom:4px}
#ssv-app .ssv-filter-hint{font-size:12px;font-weight:600;color:#555555;font-style:normal}
#ssv-app .ssv-root h2{font-family:'Roboto Slab',Georgia,serif}
#ssv-app .ssv-gallery-tile{border-color:#e6efe4}
#ssv-app .ssv-gallery-tile.ssv-active{border-color:#5fcc53}
#ssv-app .ssv-solve-btn,#ssv-app .ssv-toggle-btn{font-weight:700}
