.tys-modal{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:flex-end;pointer-events:none}.tys-modal[hidden]{display:none}.tys-modal.tys-modal--open{pointer-events:all}.tys-modal__backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--ty-anthracite-velours) 55%,transparent);opacity:0;transition:opacity var(--dur-slow) var(--ease-standard);cursor:pointer}.tys-modal--open .tys-modal__backdrop{opacity:1}.tys-modal__panel{position:relative;z-index:1;width:min(92vw,680px);height:100dvh;background:var(--ty-lin-brume);display:flex;flex-direction:column;overflow:hidden;transform:translateX(100%);transition:transform var(--dur-slow) var(--ease-standard);box-shadow:-8px 0 40px color-mix(in srgb,var(--ty-anthracite-velours) 12%,transparent),-1px 0 0 color-mix(in srgb,var(--ty-poussiere-or) 15%,transparent)}.tys-modal--open .tys-modal__panel{transform:translateX(0)}.tys-modal__close{position:absolute;top:var(--space-lg);right:var(--space-lg);z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid color-mix(in srgb,var(--ty-poussiere-or) 30%,transparent);background:color-mix(in srgb,var(--ty-lin-brume) 90%,transparent);color:var(--ty-terre-argile);font-size:1.4rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--dur-normal) var(--ease-standard),border-color var(--dur-normal) var(--ease-standard)}.tys-modal__close:hover{background:var(--ty-lin-brume);border-color:var(--ty-poussiere-or)}.tys-modal__body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-4xl) var(--space-2xl) var(--space-2xl);-webkit-overflow-scrolling:touch}.tys-modal__loader{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-4xl) 0}.tys-modal__loader-dot{width:8px;height:8px;border-radius:50%;background:var(--ty-poussiere-or);opacity:.3;animation:tys-modal-pulse 1.2s ease-in-out infinite}.tys-modal__loader-dot:nth-child(2){animation-delay:.2s}.tys-modal__loader-dot:nth-child(3){animation-delay:.4s}@keyframes tys-modal-pulse{0%,100%{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}@media (max-width:600px){.tys-modal{align-items:flex-end;justify-content:center}.tys-modal__panel{width:100vw;height:92dvh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;transform:translateY(100%)}.tys-modal--open .tys-modal__panel{transform:translateY(0)}.tys-modal__body{padding:var(--space-2xl) var(--space-lg) var(--space-lg)}}@media (prefers-reduced-motion:reduce){.tys-modal__panel,.tys-modal__backdrop{transition:none}.tys-modal__loader-dot{animation:none;opacity:.6}}