/* Real story covers sit above the generated fallback until the engine settles. */
.thumb-render-host{position:fixed;left:-100000px;top:0;width:1280px;height:800px;overflow:auto;visibility:hidden;pointer-events:none;z-index:-1}
.thumb-stage{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:5;background:#fff}
.thumb-stage-viewport{position:absolute!important;left:0!important;top:0!important;margin:0!important;transform-origin:top left!important;overflow:hidden!important;max-width:none!important}
.thumb-stage-viewport .topbar,.thumb-stage-viewport .story-contents,.thumb-stage-viewport .story-sr,.thumb-stage-viewport .scroll-hint,.thumb-stage-viewport .end-hint{display:none!important}
.cover.has-real-thumb>.cover-art,.cover.has-real-thumb>.cover-title,.cover.has-real-thumb>.cover-strip,.cover.has-real-thumb>.cover-thumb{visibility:hidden}
.template-badge{position:absolute;top:10px;right:10px;z-index:8;padding:4px 8px;border-radius:99px;background:#fff;color:#164DFF;box-shadow:0 3px 10px rgba(11,16,32,.16);font:600 11px/1 var(--ui);letter-spacing:.04em;text-transform:uppercase}
/* shared/story.css has a generic .card for story objects; restore app cards. */
.tpl-grid>.template-card{position:relative;left:auto;top:auto;width:auto;padding:0;opacity:1;pointer-events:auto;background:none;border-radius:0;box-shadow:none}
/* App-specific gallery names avoid generic selectors from shared/story.css. */
.tpl-card{min-width:0;border:0;background:none;padding:0;text-align:left;color:inherit;cursor:pointer;position:relative}
.tpl-cover{position:relative;aspect-ratio:1.35;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px rgba(11,16,32,.08);transition:transform .24s var(--ease),box-shadow .24s var(--ease)}
.tpl-card:hover .tpl-cover{transform:translateY(-4px);box-shadow:0 0 0 1px rgba(11,16,32,.08),0 20px 32px -18px rgba(11,16,32,.48)}
.tpl-cover-meta{display:grid;gap:3px;padding:10px 2px 0}
.tpl-card-title{font-weight:600;color:var(--ink);line-height:1.3}
.tpl-tag{font-size:13px;color:var(--muted)}
.tpl-cover .cover-art,.tpl-cover .cover-title,.tpl-cover .cover-strip,.tpl-cover .cover-thumb{position:absolute}
