.mstp-root{--mstp-ink:#593626;--mstp-cream:#fff7ea;--mstp-outline:#f2dfc5;color:var(--mstp-ink);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;width:100%;max-width:1180px;margin:0 auto;position:relative;line-height:1.5;box-sizing:border-box}
.mstp-root *, .mstp-modal *{box-sizing:border-box}
.mstp-root button,.mstp-modal button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mstp-root button:focus-visible,.mstp-modal button:focus-visible{outline:4px solid #1179d0;outline-offset:3px}
.mstp-root [hidden],.mstp-modal [hidden]{display:none!important}
.mstp-heading{text-align:center;padding:14px 10px 8px}
.mstp-heading h2{font-size:clamp(28px,4vw,43px);color:#a44e28;line-height:1.15;margin:0 0 9px;font-weight:800}
.mstp-heading p{font-size:clamp(16px,2vw,21px);margin:0 0 12px}
.mstp-cats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(8px,1.5vw,18px);margin:16px auto 28px}
.mstp-cat{min-width:0;background:linear-gradient(#fff9ef,#fff2df);border:3px solid #f2d0a3!important;border-radius:22px!important;padding:8px 8px 11px!important;box-shadow:0 6px 14px #78462120;color:#6a3b22!important;transition:transform .15s,box-shadow .15s}
.mstp-cat:hover,.mstp-cat[aria-pressed="true"]{transform:translateY(-3px);box-shadow:0 7px 22px #bf842d60;border-color:#f29d35!important}
.mstp-cat img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:15px;margin:0}
.mstp-cat span{display:block;text-align:center;font-weight:800;font-size:clamp(11px,1.5vw,16px);min-height:2em;padding-top:6px;line-height:1.2}
.mstp-results-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 16px}
.mstp-results-title h3{font-size:clamp(21px,3vw,28px);margin:0;color:#a44e28;font-weight:800}
.mstp-all,.mstp-more{border:0!important;border-radius:16px!important;background:#ebac4f!important;color:#3e2b1a!important;font-weight:800!important;padding:12px 20px!important;min-height:48px}
.mstp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.mstp-card{display:block;text-align:left!important;background:var(--mstp-cream)!important;color:var(--mstp-ink)!important;border:2px solid var(--mstp-outline)!important;padding:0!important;margin:0!important;border-radius:19px!important;overflow:hidden;box-shadow:0 5px 13px #78462124;min-width:0}
.mstp-card-pic{display:block;aspect-ratio:16/9;overflow:hidden;background:#ffefd9}
.mstp-card-pic img{display:block;width:100%;height:100%;object-fit:cover}
.mstp-card-info{display:flex;flex-direction:column;gap:7px;padding:15px 16px 17px}
.mstp-card-info strong{font-size:19px;line-height:1.25;font-weight:800;color:#7d3d28;min-height:2.5em;text-align:center;overflow-wrap:anywhere}
.mstp-card-actions{display:flex!important;justify-content:center;align-items:center;gap:clamp(6px,1vw,10px);padding:5px 0 1px;min-width:0}
.mstp-root .mstp-card-action{display:block!important;flex:1 1 0;max-width:120px;min-width:0;min-height:44px;aspect-ratio:1/1;padding:0!important;margin:0!important;overflow:hidden;line-height:1!important;border:3px solid #f7c65d!important;border-radius:18px!important;background:#10285d!important;box-shadow:0 4px 0 #bd752f,0 5px 10px #8c552426;transition:transform .15s,box-shadow .15s}
.mstp-root .mstp-card-action[hidden]{display:none!important}
.mstp-root .mstp-card-action img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;aspect-ratio:1/1;object-fit:contain!important;margin:0!important}
.mstp-card-action:hover{transform:translateY(-3px);box-shadow:0 6px 0 #bd752f,0 9px 15px #8c552436}
.mstp-card-action:active{transform:translateY(2px)}
.mstp-more{display:block;margin:20px auto 0}
.mstp-none{text-align:center;padding:24px;font-size:18px}
body.mstp-modal-open{overflow:hidden}
.mstp-modal{position:fixed;inset:0;z-index:999999;display:flex;justify-content:center;align-items:center;padding:10px;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#52331e}
.mstp-backdrop{position:absolute;inset:0;background:#21183bba}
.mstp-window{position:relative;width:min(850px,100%);max-height:calc(100dvh - 20px);overflow:auto;background:linear-gradient(160deg,#fffaf0,#ffefd8);border:4px solid #ffcf74;border-radius:24px;padding:clamp(12px,2.5vw,25px);box-shadow:0 22px 60px #0006}
.mstp-close{float:right;width:52px;height:52px;border:0!important;border-radius:15px!important;background:#f58b79!important;color:white!important;font-size:38px!important;font-weight:800;line-height:1}
.mstp-modal-title{font-size:clamp(23px,3vw,32px);line-height:1.2;margin:7px 60px 14px 0;color:#85432c}
.mstp-stage-media{max-width:800px;margin:auto;text-align:center}
.mstp-stage-media>img,.mstp-stage-media>video{width:100%;max-width:800px;height:auto;max-height:min(55vh,450px);aspect-ratio:16/9;object-fit:contain;display:block;margin:auto;border-radius:16px;background:#e6d7c5}
.mstp-controls{display:flex;justify-content:center;gap:clamp(16px,4vw,30px);padding:14px 0 5px}
.mstp-control{width:76px;min-height:76px;border:0!important;border-radius:19px!important;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 5px 0 #5c37254a;transition:transform .1s}
.mstp-control:active{transform:translateY(3px)}
.mstp-control>span{font-size:36px;line-height:1;color:#fff}
.mstp-control>small{font-size:12px;color:#fff;font-weight:800}
.mstp-play{background:#36b96d!important}.mstp-repeat{background:#efad23!important}
.mstp-status{text-align:center;font-size:14px;min-height:20px;margin:8px 0;color:#77533b}
.mstp-modal .mstp-back{display:flex!important;align-items:center;justify-content:center;width:112px!important;height:86px!important;margin:18px auto 10px!important;padding:2px!important;border:4px solid #ffc950!important;border-radius:25px!important;background:radial-gradient(ellipse at 25% 12%,#72ebef,#159dcc 62%,#3560c4)!important;box-shadow:0 6px 0 #2467a2,0 10px 20px #27688d35;transition:transform .12s,box-shadow .12s}
.mstp-back svg{display:block;width:100%!important;height:100%!important;overflow:visible}
.mstp-arrow-shadow{fill:#db7d1c}
.mstp-arrow-body{fill:#ffe063;stroke:#fff8c9;stroke-width:2;stroke-linejoin:round}
.mstp-arrow-shine{fill:none;stroke:#fff9d6;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.mstp-back:hover{transform:translateY(-2px)}
.mstp-back:active{transform:translateY(4px);box-shadow:0 2px 0 #2467a2,0 4px 10px #27688d35}
.mstp-loading{display:flex;justify-content:center;gap:8px;padding:14px 0}
.mstp-loading span{width:12px;height:12px;background:#efa728;border-radius:50%;animation:mstp-dot 1s ease-in-out infinite alternate}
.mstp-loading span:nth-child(2){animation-delay:.2s}.mstp-loading span:nth-child(3){animation-delay:.4s}
@keyframes mstp-dot{to{opacity:.35;transform:translateY(-5px)}}
.mstp-poem{margin:auto;max-width:660px;padding:12px 12px 24px}
.mstp-poem h3{text-align:center;margin:0 0 18px;font-size:clamp(24px,3vw,32px)}
.mstp-poem-lines{white-space:pre-wrap;overflow-wrap:anywhere;font-family:Georgia,"Times New Roman",serif;text-align:left;font-size:clamp(20px,2.5vw,27px);line-height:1.6}
@media(max-width:740px){.mstp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mstp-cat{border-radius:16px!important;padding:5px 5px 9px!important;border-width:2px!important}.mstp-cat img{border-radius:11px}.mstp-card-info{padding:10px}.mstp-card-info strong{font-size:16px}.mstp-cats{gap:8px}.mstp-cat span{font-size:11px}.mstp-root .mstp-card-action{border-radius:14px!important;border-width:2px!important}}
@media(max-width:510px){.mstp-cats{grid-template-columns:repeat(2,minmax(0,1fr));max-width:420px}.mstp-cats .mstp-cat:last-child{grid-column:1/-1;max-width:200px;justify-self:center;width:100%}.mstp-grid{grid-template-columns:1fr}.mstp-card-info strong{min-height:auto;font-size:18px}.mstp-modal-title{font-size:22px}.mstp-window{padding:9px}.mstp-control{width:66px;min-height:66px}.mstp-control>span{font-size:31px}.mstp-results-title h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.mstp-card-action,.mstp-cat,.mstp-control,.mstp-back{transition:none}.mstp-loading span{animation:none}}

.mstp-reading-hero{display:block;width:100%;max-width:600px;max-height:400px;object-fit:contain;border-radius:14px;margin:0 auto 24px}.mstp-reading-extra{display:block;width:100%;max-width:600px;height:auto;margin:24px auto 0;border-radius:14px}
/* The dialog is moved to document.body; its own hidden attribute must win over display:flex. */
.mstp-modal[hidden]{display:none!important}

/* Protect thumbnail sizes from broad img/button rules in WordPress themes. */
.mstp-root .mstp-cats{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}
.mstp-root .mstp-cat{display:block!important;min-width:0!important;width:100%!important}
.mstp-root .mstp-cat img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:1/1!important;object-fit:cover!important}
.mstp-root .mstp-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.mstp-root .mstp-card-pic img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;max-width:100%!important}
@media(max-width:740px){.mstp-root .mstp-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:510px){.mstp-root .mstp-cats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mstp-root .mstp-grid{grid-template-columns:1fr!important}}

/* Keep supplied landscape artwork intact; never overlap the theme sidebar. */
.mstp-root .mstp-cat img{aspect-ratio:4/3!important;object-fit:contain!important}
.mstp-original{display:block;margin:0 0 15px;color:#70411e;text-decoration:underline;font-size:14px}
.mstp-load-status{font-size:16px;color:#70411e}
.mstp-control:disabled{opacity:.6}
.mstp-modal .mstp-play{background:#15804a!important}.mstp-modal .mstp-repeat{background:#f3be42!important}
.mstp-repeat>span,.mstp-repeat>small{color:#4a3015}

