.sp-board{display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:auto auto;gap:.55rem .35rem;padding:.6rem;background:linear-gradient(180deg,#15803d,#14532d);border-radius:10px;width:100%;max-width:920px;margin:0 auto;box-shadow:0 4px 16px #0000004d;-webkit-user-select:none;user-select:none;--sp-card-w: 70px;--sp-tableau-min-h: calc(var(--sp-card-w) * 1.4 * 4)}.sp-slot{position:relative;width:100%;height:calc(var(--sp-card-w) * 1.4)}.sp-slot--gap{background:transparent;pointer-events:none}.sp-slot--stock,.sp-slot--foundation{border:2px dashed rgba(255,255,255,.25);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#ffffff52;transition:background .12s}.sp-slot--stock:hover,.sp-slot--foundation:hover{background:#ffffff0d}.sp-slot.sp-slot--filled{border-color:transparent}.sp-slot.sp-slot--filled .sp-card{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.sp-slot--foundation:not(.sp-slot--filled):before{content:"★";color:#ffffff40;font-size:1.6rem}.sp-slot--stock:not(.sp-stock--has-cards):before{content:"∅";color:#ffffff59;font-size:2rem}.sp-tableau-col{position:relative;width:100%;min-height:var(--sp-tableau-min-h);border:2px dashed rgba(255,255,255,.2);border-radius:8px}.sp-tableau-col.sp-tableau-col--filled{height:var(--sp-col-fan, auto);min-height:var(--sp-tableau-min-h);border-color:transparent}.sp-tableau-col .sp-card{position:absolute;width:100%;left:0;height:calc(var(--sp-card-w) * 1.4)}.sp-card.sp-card--back{cursor:default}.sp-shake{animation:card-shake .4s ease-in-out}.sp-board.sp-solved{animation:sp-win-flash .6s ease-out}@keyframes sp-win-flash{0%{box-shadow:0 0 #2e7d3280}60%{box-shadow:0 0 0 12px #2e7d324d}to{box-shadow:0 0 0 4px #2e7d3299}}@media(prefers-reduced-motion:reduce){.sp-card,.sp-card:hover,.sp-card.sp-card--shake,.sp-shake,.sp-board.sp-solved{animation:none;transition:none;transform:none}}.sp-example{margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(0,0,0,.08)}.sp-slide{flex:0 0 100%;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:.25rem .5rem;box-sizing:border-box}.sp-example-grid{display:grid;grid-template-columns:repeat(4,38px);grid-template-rows:52px;gap:4px;background:#166534;padding:6px;border-radius:6px;width:max-content}.sp-ex-card{display:flex;align-items:center;justify-content:center;background:#fff;color:#1f2937;border-radius:4px;font-size:13px;font-weight:700;border:1.5px solid #94a3b8;-webkit-user-select:none;user-select:none}.sp-ex-card.sp-ex-red{color:#c0392b}.sp-ex-card.sp-ex-back{background:#1e3a8a;color:#60a5fa;font-size:18px;border-color:#0f172a}.sp-ex-card.sp-ex-back:before{content:"✦"}.sp-ex-card.sp-ex-empty{background:#ffffff1a;border:2px dashed rgba(255,255,255,.4);color:#ffffff80}.sp-ex-card.sp-ex-arrow{background:transparent;border:none;color:#fff;font-size:22px}.sp-example-caption{font-size:.78rem;color:var(--color-text-muted);margin:0;max-width:300px;text-align:center;min-height:2.4em}.sp-slide-nav{position:absolute;top:32px;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:#0000008c;color:#fff;border:none;cursor:pointer;font-size:20px;line-height:1;padding:0 0 2px;display:flex;align-items:center;justify-content:center;z-index:2}.sp-slide-dots{display:flex;justify-content:center;gap:.4rem;margin-top:.45rem}.sp-hint-panel{max-width:480px;margin:.5rem auto 0;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:.75rem 2rem .75rem 1rem;font-size:.85rem;line-height:1.45;color:var(--color-text);position:relative;display:none}.sp-hint-panel.active{display:block;animation:sp-hint-panel-in .2s ease-out}.sp-hint-title{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#e65100;margin-bottom:.25rem}.sp-hint-body{color:var(--color-text)}.sp-hint-close{position:absolute;top:.25rem;right:.4rem;background:none;border:none;font-size:1.25rem;line-height:1;color:var(--color-text-muted);cursor:pointer;padding:.25rem .4rem;border-radius:4px}.sp-hint-close:hover{background:#0000000f;color:var(--color-text)}@keyframes sp-hint-panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.sp-hint-panel.active{animation:none}}
