/* Tablet story: native scrolling, no scroll locking or remote dependencies. */
.tablet-scene,.tablet-toggle { display:none; }
.tablet-enhanced .tablet-toggle { display:inline-block; }
.tablet-toggle,.tablet-controls button,.tablet-controls a {
 font:700 14px/1.2 "Retro Sans",sans-serif; color:#f8e6c7;background:#254a42;
 border:1px solid #d5b477;border-radius:30px;padding:12px 17px;cursor:pointer;text-decoration:none;
}
.tablet-toggle { margin:0 0 22px; }
.tablet-toggle:focus-visible,.tablet-controls :focus-visible { outline:3px solid #e9a752;outline-offset:4px; }
.tablet-ready { position:relative;height:var(--story-height,800svh); }
.tablet-ready .tablet-scene {
 display:block;position:sticky;top:0;height:100vh;height:100svh;width:100%;isolation:isolate;
}
.tablet-stage {
 position:relative;height:100%;width:var(--stage-width,100vw);
 margin-left:calc((100% - var(--stage-width,100vw))/2);overflow:clip;
 background:#f4e7cd;color:#382414;
}
.tablet-prop { position:absolute;display:block;max-width:none;object-fit:contain;pointer-events:none;transform-origin:49% 43.5%; }
.tablet-screen { position:absolute;overflow:hidden;background:var(--teal,#47796f);border-radius:14px;box-shadow:0 0 0 1px var(--teal,#47796f); }
.tablet-ready .gallery-grid { position:absolute;inset:0;display:block;margin:0; }
.tablet-ready .gallery-item:nth-child(n) {
 position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;outline:none;
 border:0;border-radius:0;margin:0;box-shadow:none;background:transparent;
 opacity:0;visibility:hidden;transition:opacity .38s ease,visibility .38s;
}
.tablet-ready .gallery-item.is-active { opacity:1;visibility:visible;z-index:1; }
.tablet-ready .gallery-item img { width:100%;height:100%;object-fit:contain;object-position:center;animation:none;filter:none;will-change:auto; }
.tablet-ready .gallery-item.is-active img { animation:retro-photo-color 1.4s ease-out both; }
.tablet-caption { color:#382414;position:absolute;top:max(16px,env(safe-area-inset-top));left:16px;right:16px;display:flex;justify-content:space-between;gap:16px;font:italic 18px/1.3 "Retro Serif",serif;pointer-events:none; }
.tablet-counter { font:700 13px/1.4 "Retro Sans",sans-serif;letter-spacing:.12em; }
.tablet-controls { position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:12px;right:12px;display:flex;align-items:center;justify-content:center;gap:10px; }
.tablet-controls button { min-width:46px;min-height:44px;font-size:20px;padding:9px 14px; }
.tablet-controls a { font-size:12px; }
.tablet-hint { color:#382414;position:absolute;left:12px;right:12px;bottom:76px;text-align:center;font:14px/1.4 "Retro Sans",sans-serif;margin:0; }
.tablet-progress { position:absolute;bottom:0;left:0;height:3px;background:#e0b572;width:100%;transform-origin:left;transform:scaleX(0); }
@media(max-width:600px) { .tablet-caption{font-size:16px;} .tablet-hint{font-size:12px;} }
@media(prefers-reduced-motion:reduce),print {
 .tablet-ready { height:auto!important; }
 .tablet-ready .tablet-scene { display:none!important; }
 .tablet-enhanced .tablet-toggle { display:none!important; }
}
