.toolbox-preview-open, .toolbox-preview-viewer[hidden] { display: none; }
@media screen and (max-width: 768px), screen and (hover: none) and (pointer: coarse) and (max-width: 1024px) {
    .toolbox-preview-open:not([hidden]) {
        display: block; margin: 0 0 10px auto; padding: 9px 14px; min-height: 44px;
        border: 1px solid #c99a71; border-radius: 8px; background: #fff7ed; color: #92400e;
        font: 600 14px/1.4 system-ui, sans-serif; touch-action: manipulation;
    }
    [data-preview-tappable] { cursor: zoom-in; }
}
.toolbox-preview-open:focus-visible { outline: 3px solid #d97706; outline-offset: 2px; }
.toolbox-preview-viewer {
    position: fixed; inset: 0; z-index: 20000; background: #000; isolation: isolate;
    height: 100%; height: 100dvh; overflow: hidden; overscroll-behavior: none;
}
.toolbox-viewer-viewport { position: absolute; inset: 0; overflow: hidden; touch-action: none; outline: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.toolbox-viewer-stage { position: absolute; inset: 0; }
.toolbox-viewer-paper { position: absolute; top: 50%; left: 50%; }
.toolbox-viewer-stage.is-turning { animation: toolbox-viewer-page-enter .18s ease-out; }
@keyframes toolbox-viewer-page-enter { from { opacity: .4; transform: translateX(var(--viewer-enter-x)); } to { opacity: 1; transform: translateX(0); } }
.toolbox-viewer-swipe-hint {
    position: absolute; left: 50%; bottom: max(32px, env(safe-area-inset-bottom));
    display: flex; align-items: center; gap: 16px; padding: 10px 18px; border-radius: 30px;
    background: #000b; color: #fff; font: 500 14px/1.5 system-ui, sans-serif; white-space: nowrap;
    pointer-events: none; animation: toolbox-viewer-swipe 1.4s ease-in-out 2 both;
}
.toolbox-viewer-swipe-hint[hidden] { display: none; }
.toolbox-viewer-swipe-hint > :first-child, .toolbox-viewer-swipe-hint > :last-child { font-size: 24px; line-height: 1; }
@keyframes toolbox-viewer-swipe {
    0%, 100% { opacity: 0; transform: translateX(-50%); }
    20% { opacity: 1; transform: translateX(calc(-50% + 18px)); }
    65% { opacity: 1; transform: translateX(calc(-50% - 18px)); }
}
.toolbox-viewer-announcement { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body.toolbox-preview-viewing #bottomTabBar,
body.toolbox-preview-viewing #siteFeedbackTrigger,
body.toolbox-preview-viewing .toolbox-mobile-actions { visibility: hidden !important; }
@media (prefers-reduced-motion: reduce) {
    .toolbox-viewer-stage.is-turning { animation: none; }
    .toolbox-viewer-swipe-hint { animation: none; transform: translateX(-50%); }
}
@media print {
    .toolbox-preview-open, .toolbox-preview-viewer, .toolbox-preview-viewer * { display: none !important; }
}
