.presentation-overlay { position: fixed; inset: 0; z-index: 2147483000; pointer-events: none; }
.presentation-dialog-backdrop { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(17, 27, 43, .48); pointer-events: auto; }
.presentation-dialog-backdrop[hidden] { display: none; }
.presentation-dialog { max-width: 440px; margin: 20px; padding: 28px; border-radius: 12px; background: white; color: #17233a; box-shadow: 0 12px 48px rgba(0,0,0,.25); font: 16px/1.5 Roboto, sans-serif; }
.presentation-dialog h2 { margin: 0 0 12px; font-size: 22px; }
.presentation-overview { margin: 12px 0 16px; padding: 10px 14px; border-radius: 8px; background: #f4f7fb; border: 1px solid #d8e2f0; font-size: 14px; line-height: 1.45; }
.presentation-overview[hidden], .presentation-overview-row[hidden] { display: none; }
.presentation-overview-row { display: grid; grid-template-columns: 96px 1fr; gap: 8px; margin: 4px 0; }
.presentation-overview-row dt { font-weight: 700; color: #23477f; }
.presentation-overview-row dd { margin: 0; color: #17233a; overflow-wrap: break-word; }
.presentation-dialog select { display: block; margin-top: 5px; padding: 8px; min-width: 150px; }
.presentation-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.presentation-actions button { padding: 10px 14px; border: 1px solid #315b9c; border-radius: 5px; background: white; color: #23477f; cursor: pointer; font: inherit; }
.presentation-actions .presentation-start { background: #315b9c; color: white; }
.presentation-pointer { position: absolute; left: 0; top: 0; opacity: 0; transition: transform 700ms ease-in-out, opacity 150ms; filter: drop-shadow(0 2px 3px rgba(0,0,0,.35)); }
.presentation-click { position: absolute; left: -14px; top: -14px; width: 30px; height: 30px; border: 3px solid #fa9c17; border-radius: 50%; opacity: 0; }
.presentation-pointer.is-clicking .presentation-click { animation: presentation-click .45s ease-out; }
.presentation-highlight { position: absolute; display: none; box-sizing: border-box; border: 3px solid #fa9c17; border-radius: 6px; box-shadow: 0 0 0 5px rgba(250,156,23,.25); }
.presentation-step { position: absolute; right: 16px; bottom: 16px; box-sizing: border-box; width: min(420px, calc(100vw - 24px)); max-width: calc(100vw - 24px); max-height: calc(45vh - 16px); overflow-y: auto; padding: 14px 18px; border-radius: 10px; border-left: 5px solid #315b9c; background: rgba(255, 255, 255, .97); color: #17233a; box-shadow: 0 10px 32px rgba(17, 27, 43, .26); font: 15px/1.45 Roboto, sans-serif; overflow-wrap: break-word; pointer-events: none; }
.presentation-step[data-interactive="true"] { pointer-events: auto; }
.presentation-step[hidden] { display: none; }
.presentation-step[data-tone="error"] { border-left-color: #b42318; }
.presentation-step-meta { margin: 0 0 4px; font-size: 12px; font-weight: 700; letter-spacing: .02em; color: #315b9c; }
.presentation-step[data-tone="error"] .presentation-step-meta { color: #b42318; }
.presentation-step-title { margin: 0 0 6px; font-size: 16px; font-weight: 700; line-height: 1.3; color: #17233a; }
.presentation-step-text { margin: 0; font-size: 15px; line-height: 1.45; color: #17233a; }
.presentation-step-actions { display: flex; justify-content: flex-end; margin-top: 10px; }
.presentation-step-actions[hidden] { display: none; }
.presentation-step-ok { padding: 6px 16px; border: 1px solid #315b9c; border-radius: 5px; background: #315b9c; color: white; cursor: pointer; font: 500 14px/1.3 Roboto, sans-serif; }
@media (max-width: 600px) {
    .presentation-step { left: 10px; right: 10px; bottom: 10px; width: auto; max-width: calc(100vw - 20px); padding: 12px 14px; font-size: 14px; }
    .presentation-step-title { font-size: 15px; }
    .presentation-step-text { font-size: 14px; }
}
@keyframes presentation-click { 0% { opacity: 1; transform: scale(.3); } 100% { opacity: 0; transform: scale(1.8); } }
