.prank-modal{z-index:1100;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.prank-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a192ff6;position:absolute;inset:0}.prank-modal-panel{z-index:2;width:min(520px,100%);max-height:calc(100dvh - 2rem);color:var(--color-text);background:var(--surface-panel);border:1px solid var(--border-soft);border-radius:1rem;position:relative;overflow:hidden auto;box-shadow:0 18px 40px #00000073}.prank-modal-panel h3{color:var(--color-text)}.prank-modal-panel .btn{margin-top:.25rem}@media (width<=374.98px){.prank-modal-panel .p-2{padding:1rem!important}.prank-modal-panel .btn{margin-right:.35rem;margin-left:0!important}}.prank-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;font-size:26px;line-height:1;position:absolute;top:6px;right:8px}.prank-close:hover{color:#fff}.confetti{z-index:1200;pointer-events:none;position:fixed;inset:0}.confetti-piece{opacity:.95;transform-origin:50%;will-change:transform, top, left;width:10px;height:14px;position:absolute}.is-simulated-typing{border-color:var(--color-accent);caret-color:var(--color-accent);box-shadow:0 0 0 .2rem #65b7ff2e,0 0 1.1rem #65b7ff29}@media (prefers-reduced-motion:reduce){.is-simulated-typing{box-shadow:none}}.joke-interaction-demo{z-index:1210;color:#f4f8ff;border-radius:var(--radius-pill);max-width:min(36rem,100vw - 2rem);box-shadow:var(--shadow-floating);background:#0a1c33f5;border:1px solid #65b7ffb3;align-items:center;gap:.65rem;padding:.75rem 1rem;display:flex;position:fixed;top:clamp(1rem,4vw,2rem);left:50%;transform:translate(-50%)}.joke-interaction-demo span{overflow-wrap:anywhere;min-width:0}.joke-interaction-demo[data-state=acting] i{color:var(--color-accent);transform:scale(1.18)}.joke-interaction-demo i{transition:color var(--motion-fast), transform var(--motion-fast)}@media (width<=374.98px){.joke-interaction-demo{top:max(.75rem, env(safe-area-inset-top));border-radius:var(--radius-lg);gap:.45rem;max-width:calc(100vw - 1rem);padding:.6rem .75rem;font-size:.875rem;line-height:1.3}}.joke-interaction-target{outline:2px solid var(--color-accent);outline-offset:.3rem;box-shadow:0 0 1.4rem #65b7ff80}.joke-interaction-target.is-acting{outline-color:var(--color-white)}@media (prefers-reduced-motion:reduce){.joke-interaction-demo i{transition:none}}.joke-suite-runner{z-index:1205;width:min(24rem,100vw - 1.5rem);color:var(--color-text);border:1px solid var(--border-interactive);border-radius:var(--radius-lg);box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);background:#081b32f7;padding:1rem;position:fixed;bottom:clamp(.75rem,2vw,1.5rem);right:clamp(.75rem,2vw,1.5rem)}.joke-suite-runner__header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.joke-suite-runner__title{margin:0;font-size:1rem}.joke-suite-runner__counter{color:var(--color-accent);white-space:nowrap;font-size:.8rem}.joke-suite-runner__progress{width:100%;height:.5rem;color:var(--color-action);background:var(--surface-control);border-radius:var(--radius-pill);border:0;margin-block:.75rem;display:block;overflow:hidden}.joke-suite-runner__progress::-webkit-progress-bar{background:var(--surface-control)}.joke-suite-runner__progress::-webkit-progress-value{background:var(--color-action);transition:width var(--motion-medium)}.joke-suite-runner__progress::-moz-progress-bar{background:var(--color-action)}.joke-suite-runner__status{min-height:2.5rem;color:var(--color-text-muted);margin-bottom:.75rem;line-height:1.35}.joke-suite-runner[data-state=complete]{border-color:var(--color-success)}.joke-suite-runner[data-state=cancelled]{border-color:var(--color-danger)}@media (width<=575.98px){.joke-suite-runner{right:.5rem;bottom:max(.5rem, env(safe-area-inset-bottom));width:calc(100vw - 1rem)}}@media (prefers-reduced-motion:reduce){.joke-suite-runner__progress::-webkit-progress-value{transition:none}}
